【发布时间】:2014-11-06 15:16:43
【问题描述】:
有时我对 csh 中的不同目标文件使用相同的 foreach 操作。
如果我可以在一行中给出 foreach 命令,我可以轻松地替换目标文件名来重复该过程。(我通常使用 `find . -name ...` 来表示目标文件)
出于这个问题的目的,假设我想对所有 *.txt 文件进行分类。
$ foreach i (*.txt)
foreach? cat $i
foreach? end
我阅读了https://unix.stackexchange.com/questions/32873/running-a-full-foreach-command 并尝试过
alias disp 'echo "foreach i (*.txt)"; echo "cat "\$"i"; echo "end"; | /bin/csh'
当我输入disp 时,它给了我Invalid null command。
如果我可以在一行中做到这一点,我可以做到!foreach:gs/\.c\>/.h/(用.h 替换.c 做同样的事情)。
我该怎么做?
【问题讨论】: