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でまとめて開く

1
$ vim -p `hw -l aaa`