gpt4 book ai didi

shell - 如何在csh中一行编写foreach?

转载 作者:行者123 更新时间:2023-12-02 00:31:39 30 4
gpt4 key购买 nike

有时我对 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 时,它会给出无效的空命令
如果我可以在一行中完成此操作,我可以执行 !foreach:gs/\.c\>/.h/ (执行相同的操作,将 .c 替换为 .h)。我该怎么做?

最佳答案

这个方法对我有用:

printf 'foreach f ( 1 2 3 )\n echo $f \n end' | tcsh

关于shell - 如何在csh中一行编写foreach?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25808352/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com