次の形式のファイル名と行番号のリストがあります。
./foo.txt:1:(more characters)
./foo.txt:3:(more characters)
./bar.txt:10:(more characters)
リストはファイルからインポートすることも、プロセス(たとえばgrep -n
)によって出力することもできます。
引用した各行に固定テキストを追加し、その場所でファイルを変更したいと思います。
たとえば、foo.txtファイルに次のテキストが含まれているとします。
One
Two
Three
Four
以下を含めるように変更したいと思います。
One TODO
Two
Three TODO
Four
同様に、bar.txtの10行目に「TODO」を追加する必要があります。
どうすればいいですか?
ベストアンサー1
1つのオプション:edを使用してください!
while IFS=: read -r filename linenumber junk
do
ed -s "$filename" <<< "$linenumber"$'s/$/ TODO/\nw\nq'
done < input