You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让GNU Parallel不再自动插入单引号?

解决GNU Parallel自动插入单引号的问题

要让GNU Parallel永远不自动插入单引号,可以使用--no-shellquote选项(等价于--shellquote off),它会禁用Parallel对参数的自动shell转义处理。

修改后的命令:

parallel --dry-run --no-shellquote sed -i "s/Text to replace/{.}/" {} ::: *.txt

执行后,无论文件名是否包含空格,输出都不会带有单引号:

  • 带空格的文件输出示例:
    sed -i "s/Text to replace/with space/" with space.txt
    
  • 无空格的文件输出示例:
    sed -i "s/Text to replace/without_space/" filename_without.txt
    

注意事项

Parallel自动添加单引号是为了保证命令执行的安全性,避免空格、特殊字符等导致shell将文件名拆分为多个参数。如果去掉--dry-run实际执行命令,禁用引号会导致带空格的文件名报错,因此仅建议在需要统一--dry-run输出格式时使用该选项。

内容的提问来源于stack exchange,提问作者Geremia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 19:22:23