デスクトップにtexts というフォルダがあって
その中にtxtファイルがたくさんあり,各ファイルに
date: 20xx/xx/xx
という行があるとき
cd desktop/texts textsフォルダに移動
cat ./*.txt > new.txt 全txtファイルを一つにまとめたファイルnew.txt作成
grep "date:" new.txt > date.txt date:を含む行だけを書き出したファイルdate.txt作成
sed 's/date: //g' date.txt > date2.txt date: を削除したファイルdate2.txt作成
完成
今回は逆順にしたかったので
tail -r date2.txt > date3.txt 逆順にしたファイルdate3.txt作成
以上
sort -r date2.txt > date3.txt 逆順にしたファイルdate3.txt作成
だとうまくいきませんでした。
■date
2016/xx/xx/xx
のように改行があるときは
cat ./*.txt > new.txt txtファイルを一つにまとめる
grep "date" -A 1 new.txt > date.txt 2行分書き出す
なぜか
■date
2016/xx/xx/xx
ーー
■date
2016/xx/xx/xx
ーー
となったので
sed '/date/d' date.txt > date2.txt dateの行を削除
sed '/--/d' date2.txt > date3.txt --の行を削除
sed '/date/d;/--/d' date.txt > date2.txt で一気にできる
でできました。上書きがうまくできなかったので毎回ファイルを作成しました
複数条件で行を抜き出すときは
grep "AAA\|BBB\|CCC" new.txt > abc.txt
でできました