改行文字を「\\n」という3文字の文字列に置換
data.txt
123
789
abc
xyz
パターン1
sed ':loop; N; $! b loop; s/\n/\\\\n/g' data.txt
実行結果
123\\n789\\nabc\\nxyz
パターン2
awk -F\n -v ORS='\\\\n' '{print}' data.txt
実行結果
123\\n789\\nabc\\nxyz\\n
パターン3
awk '{printf("%s\\\\n", $0)}' data.txt
実行結果
123\\n789\\nabc\\nxyz\\n
3パターンとも、文字のある最終行に改行があっても無くても、結果(行末の「\\\n」の有無)は変化しない。
ファイル内の日時文字列「yyyy/MM/dd hh:mm:ss」をすべて削除
sed -e "s|20[0-9][0-9]/[0-9][0-9]/[0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9]||g" ${file} > edit/${file}
ディレクトリ内のファイルすべてで、ファイル内の日時文字列「yyyy/MM/dd hh:mm:ss」をすべて削除
for file in `ls .`; do
sed -e "s|20[0-9][0-9]/[0-9][0-9]/[0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9]||g" ${file} > edit/${file}
done
※更新日時・出力日時等を除外して比較したいときなどに
2013/01/12 |