LoginSignup
0
0

More than 5 years have passed since last update.

日付だけ抜き出したファイル作成 mac コマンド

Last updated at Posted at 2016-05-09

デスクトップに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

でできました

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0