2

次のような grep 検索コマンドがあります。

grep -rl "<script" .

結果は次のようになります。

./filename.txt
./filename2.txt
./filename3.txt

結果の各行を取得して、メモ帳++で開きたい

これでメモ帳++でファイルを開くことができます:

"C:\Program Files (x86)\Notepad++\notepad++.exe" ./filename.txt

各結果をメモ帳で開くコマンド ライン コマンドはどのようになりますか?

4

2 に答える 2

2

ここでは、どのオペレーティング システムで作業しているかを推測していますが、bash と grep を使用しているため、bash ソリューションが必要であると想定しています。

"C:\Program Files (x86)\Notepad++\notepad++.exe" $(grep -rl "<script" .)

「トリック」は $(...) で、同封されたコマンドを実行し、個々の結果行をコマンド ラインに出力します。結果のファイル名に bash に特有の文字が含まれている場合は、より複雑な解決策が必要になります。

于 2013-11-05T18:06:14.153 に答える
0

Notepad++ で grep が一致した行までファイルを開く場合は、次のようにします。

for match in $(grep -rn "<script" .); do
    "C:\Program Files (x86)\Notepad++\notepad++.exe" `echo $match | awk -F":" '{print "-n"$2" "$1}'`
done

これにより、Notepad++ がn回呼び出されます。ここで、nは一致の数です。

于 2013-11-05T18:41:23.617 に答える