テキストファイルがあり、各行には定義された数のフィールドがありますが、行ごとに異なる場合があります。私が望むのは、行フィールドの各値の前に「=」記号を追加することです。
たとえば、入力ファイル
A B C D E
P Q R S T U
L M N O
結果ファイル
=A =B =C =D =E
=P =Q =R =S =T =U
=L =M =N =O
また、これは単なる例であり、私のファイルには20を超えるフィールドを含むいくつかの行が含まれています。これを効率的に行う方法。
ベストアンサー1
フィールドに複数の文字が含まれていると仮定すると、GNUは次のようになりますsed
。
sed 's/\</=/g' <<END
foo bar baz
A B C
apple banana cherry
END
=foo =bar =baz
=A =B =C
=apple =banana =cherry
GNU sedの\<
正規表現構成は、ゼロの幅を持つ「単語の開始」マーク(単語以外の文字(または行の先頭)と単語の文字(ロケールの数字または下線)の間の切り替え)です。だから私たちはそれぞれの始まりを変えます言葉「=」文字を使用します。
(sed正規表現参照ここ)