有時我在csh中對不同的目標文件使用相同的foreach操作。
如果我可以在一行中給foreach命令,我可以很容易地替換目標文件名來重複這個過程(我通常使用`find。-name ...`作爲目標文件)
爲此目的問題,我們假設我想要捕獲所有* .txt文件。如何在csh的一行中編寫foreach?
$ 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)。 我該怎麼辦?
您好,我想你沒有得到問題的權利。我想在單行中使用整個foreach命令,以便我可以替換它的一部分並輕鬆地再次運行該命令。在bash中,我可以簡單地爲'1 2 3;做echo $ i;完成'。 – 2016-08-23 02:37:10