コマンド組み合わせて行いたいのが、質問の意図のようですが、
ruby で書いてもみました。
awk や sed で書くよりは読みやすいし、細かな仕様変更もしやすいと思います。
1.rb
ruby
1folder = ''
2File.foreach('test.txt') do |line|
3 line.strip!
4 if line.count(',') == 2
5 puts "#{folder},#{line}"
6 else
7 folder = line
8 end
9end
test.txt
folder1
fileA,100,2016-02-01
fileB,200,2016-02-02
fileC,300,2016-02-03
folder2
fileX,100,2016-02-01
fileY,200,2016-02-02
fileZ,300,2016-02-03
folder/sub
file31,100,2016-02-01
file32,200,2016-02-02
file33,300,2016-02-03
実行結果
$ ruby 1.rb
folder1,fileA,100,2016-02-01
folder1,fileB,200,2016-02-02
folder1,fileC,300,2016-02-03
folder2,fileX,100,2016-02-01
folder2,fileY,200,2016-02-02
folder2,fileZ,300,2016-02-03
folder/sub,file31,100,2016-02-01
folder/sub,file32,200,2016-02-02
folder/sub,file33,300,2016-02-03
入力ファイルに空行があったら無視するようになってます。
スクリプト言語で書いているので、 "# で始まる行を無視する" ように仕様を変更することも簡単にできるはずです。
(ruby でなく、perl, go, node.js などでも書けるはずです)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/23 12:41