gpt4 book ai didi

linux - 由于参数过多,Perl 命令未执行,我该如何修复它以允许更多参数?

转载 作者:太空狗 更新时间:2023-10-29 11:28:25 26 4
gpt4 key购买 nike

我正在尝试使用这个命令:

perl -i -p -e "s/\r//" ./{folderName}/*.txt

问题是我在这个文件夹中有很多 .txt 文件,我猜命令无法处理它...还有什么我可以尝试或做的事情来解决这个问题吗?

我得到的错误是:“参数列表太长”

我已经在较小的文件夹大小(较少的 .txt 文件)中成功地使用了此命令,并且工作正常。

最佳答案

shell 上的输入参数有限制。这可以通过运行以下命令找到。

getconf ARG_MAX

如果参数数量更多,那么您可以使用其他方法,如管道或 for 循环。

举个例子

for txt in ./{folderName}/*.txt ; do perl -i -p -e "s/\r//" "$txt"; done

或者使用管道

echo ./{folderName}/*.txt | xargs perl -i -p -e "s/\r//" 

@ikegami 提出为什么 echo 不会给出“太多参数”时对 echo 的解释

原因是 echo 是内置命令,不会将参数传递给新进程。

关于linux - 由于参数过多,Perl 命令未执行,我该如何修复它以允许更多参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55720814/

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