相关疑难解决方法(0)

"参数列表太长"限制是否适用于shell内置函数?

我浏览了Stack Overflow上的很多帖子以及关于这个argument list too long主题的一些相关社区,我似乎没有清楚地知道长度限制是否适用于shell内置函数.

假设我想通过标准输入将一个非常长的字符串传递给命令:

string="a very long list of words ..."
Run Code Online (Sandbox Code Playgroud)

我能说......么:

# not using double quotes around $string is deliberate
printf '%s\n' $string | cmd ...
Run Code Online (Sandbox Code Playgroud)

要么

cmd <<< $string
Run Code Online (Sandbox Code Playgroud)

甚至可以将它传递给xargs:

printf '%s\n' $string | xargs cmd ...
Run Code Online (Sandbox Code Playgroud)

有人可以澄清一下吗?

unix linux bash shell command-line-arguments

7
推荐指数
1
解决办法
1411
查看次数

如何在避免“太多论点”的同时进行 grep

我试图清除一些垃圾邮件,但遇到了一个问题。队列中的文件数量太大,我通常的命令无法处理。它会给我一个关于太多参数的错误。

我通常这样做

grep -i user@domain.com 1US* | awk -F: '{print $1}' | xargs rm
Run Code Online (Sandbox Code Playgroud)

1US* 可以是 1US[a-zA-Z] 之间的任何值。我唯一能做的就是运行这个可怕的装置。它的一个文件,包含 1USa、1USA、1USb 等,贯穿整个字母表。我知道他们必须是一种更有效地运行它的方法。

grep -s $SPAMMER /var/mailcleaner/spool/exim_stage1/input/1USa* | awk -F: '{print $1}' | xargs rm
grep -s $SPAMMER /var/mailcleaner/spool/exim_stage1/input/1USA* | awk -F: '{print $1}' | xargs rm
Run Code Online (Sandbox Code Playgroud)

linux bash grep

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

bash ×2

linux ×2

command-line-arguments ×1

grep ×1

shell ×1

unix ×1