Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos Mac OS SED替换'|';与'_&引用;在文件名中_Macos_Sed - Fatal编程技术网

Macos Mac OS SED替换'|';与'_&引用;在文件名中

Macos Mac OS SED替换'|';与'_&引用;在文件名中,macos,sed,Macos,Sed,我试图从文件名中删除一个或多个管道“|”字符,并将其替换为“|”。我使用Mas OS SED尝试了多种变体。但我还是会犯错误 所以如果文件名像“ABC | DEF | GHI” 我希望结果文件名为“ABC_DEF_GHI” 如何使用SED实现这一点 即:移除坯料,并将管道“|”替换为“|” 任何帮助都将不胜感激。我认为使用普通bash会更容易。如果$name包含文件名,那么${name//}将替换为,以便您可以执行以下操作: mv -i -- "$name" "${name//|/_}" 是否

我试图从文件名中删除一个或多个管道“|”字符,并将其替换为“|”。我使用Mas OS SED尝试了多种变体。但我还是会犯错误

所以如果文件名像“ABC | DEF | GHI”

我希望结果文件名为“ABC_DEF_GHI” 如何使用SED实现这一点 即:移除坯料,并将管道“|”替换为“|”


任何帮助都将不胜感激。

我认为使用普通bash会更容易。如果
$name
包含文件名,那么
${name//}
替换为
,以便您可以执行以下操作:

mv -i -- "$name" "${name//|/_}"

是否尝试重命名文件或修改存储在文件中的文件名列表,或修改保存在shell变量中的文件名或其他内容?请澄清您的问题。我将文件名捕获为脚本变量,并希望用“已清理”的文件名替换该脚本变量。