我想弄清楚我需要修改哪些文件; 所以,我使用grep命令序列.我想找出哪些文件包含foo和bar.因此,我的命令是:
grep foo `grep bar * -l` | awk -F':' '{print $1}' | sort | uniq
这个命令给我一个大的列表,如下所示:
pageABC.txt
pageBCD.txt
pageDEF.txt
我希望在emacs中打开此输出.所以我通常做的是:
emacs ` whatever_was_in_my_output `
此命令通常会打开所有文件.
如果我尝试
emacs `grep foo `grep bar * -l` | awk -F':' '{print $1}' | sort | uniq `
Emacs甚至不会启动.也许是因为使用了双重坟墓口音.任何想法如何解决这个问题?
非常感谢,
d
你忘了逃避内部命令替换:
emacs `grep foo \`grep bar * -l\` | awk -F':' '{print $1}' | sort | uniq`
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我通常更喜欢替代命令变量语法,因为它更容易嵌套:
emacs $(grep foo $(grep bar * -l) | awk -F':' '{print $1}' | sort | uniq)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2919 次 |
| 最近记录: |