すべての行を変更しながらファイル[bol]をコピーする方法は?

すべての行を変更しながらファイル[bol]をコピーする方法は?

ターゲットファイルの各行の先頭に特定の文字列があり、bashが単一行になるようにファイルをコピーする必要があります。したがって、スクリプトやループがなく、bolだけがあります。

bol - 一群の人々を襲う

これを行うには、個人的にgrepプログラムのコマンドを使用する必要があります。可能なあらゆる方法で解決していただきありがとうございます。 grepを使用しないと、あまり役に立ちません。

編集:いいね、grep、sedではできません。

答え1

$ sed 's/^/specific string/' input >output

を使うべきだと言われましたgrep。まあ...

$ sed 's/^/specific string/' input | grep . >output

答え2

リクエストにGNUがない場合、sedまたはGNUがある場合grep

grep --label="SPECIFIC STRING" --null -H ^ input_file.txt

PS:気になるなら、いいえ、真剣な答えではありません。

答え3

たぶんこれは(テストされていません):

cat file.txt | sed 's/^\(.*\)$/new text at line start\1/g' > file-copy.txt

awk代わりに使用することも可能です。sed

答え4

具体的に要求したので、bash次の行があります(長い縮小にもかかわらず)。

{ while IFS= read -r line ;do printf "%s %s\n" "SPECIAL" "$line" ; done < input.txt ; [ -n "$line" ] && printf "%s %s\n" "SPECIAL"  "$line" ;  }

しかし、もちろん、より短い方法は次の通りですawk

 awk '{print "SPECIAL ",$0}' input.txt

関連情報