highwayでgrep検索しつつsedで一括置換をかける
highway
、いつもお世話になっております
仕込み
1 2 3 4 5 6 7
| $ echo "aaa" > aaa.txt $ echo "bbb" > bbb.txt $ echo "ccc" > ccc.txt $ mkdir directory $ echo "aaa" > directory/aaa.txt $ echo "bbb" > directory/bbb.txt $ echo "ccc" > directory/ccc.txt
|
highway: grep検索
1 2 3 4 5 6
| $ hw bbb bbb.txt 1:bbb
directory/bbb.txt 1:bbb
|
highwayは、-l
でファイル名のみの出力になります
1 2 3
| $ hw bbb -l bbb.txt directory/bbb.txt
|
xargs sed
で置換(bbb → ZZZ)
1 2 3 4 5 6 7 8 9 10 11 12 13
| $ hw bbb -l | xargs sed -i s/bbb/ZZZ/g
$ cat bbb.txt directory/bbb.txt ZZZ ZZZ
// 他のファイルに影響ない事の確認 $ cat aaa.txt directory/aaa.txt aaa aaa $ cat ccc.txt directory/ccc.txt ccc ccc
|
検索結果をvimでまとめて開く