SED - 变量上的“文件名太长”

Posted

技术标签:

【中文标题】SED - 变量上的“文件名太长”【英文标题】:SED - "Filename too long" on a variable 【发布时间】:2021-08-28 08:49:54 【问题描述】:

我正在尝试修改存储在如下变量中的 json:

PS:(这个错误也被 here 覆盖了,但我尝试了相同的过程使终端退出)。

#The variable has some information about a json file (around 10 keys).
infos = ["id":512,"hostName":"PC-1","pcModel":"Dell","diskType":"Samsung:...]
#I want to modify the key where "Win10" is written and replace it with "Ubuntu" like this
sed -i "s/Win10/Ubuntu/g" "$infos"
#Then I get the error
bash: /bin/sed: Argument list too long

sed 有没有办法避免这个错误?

谢谢

【问题讨论】:

【参考方案1】:

这可能对你有用(GNU sed 和并行):

parallel sed -i 's/Win10/Ubuntu/g'  ::: $infos

将就地并行编辑文件。

【讨论】:

以上是关于SED - 变量上的“文件名太长”的主要内容,如果未能解决你的问题,请参考以下文章

vscode会因为文件名太长删光服务器目录????

错误及异常处理-[PathTooLongException]指定的路径或文件名太长

Jenkins git checkout 中的“文件名太长”错误

sh 适用于Windows的Git:文件名太长

如何在 git clone 期间修复“文件名太长错误”

路径太深、文件名太长--导致无法复制