我需要在变量中执行 dos2unix 命令。
对于文件,我们只做 dos2unix myfile.txt
我怎么能用变量做到这一点?
例如:

variable="bla\r"
dos2unix $variable

也欢迎使用其他命令的 Sugestions。

PS.:我无法对正在阅读文本的文件执行 dos2unix。

最佳答案

这里不需要任何外部命令;您可以使用参数扩展来删除 CR s 仅使用内置于 shell 本身的功能,从而更快地执行(使用相当短的字符串)并保证在任何具有 bash(或类似扩展的 shell,例如 ksh93 或zsh),即使没有安装 dos2unix:

$ PS1='> ' # for readability, to distinguish output starting with '$' literals
> variable_in=$'bla\r'
> variable_out=${variable_in//$'\r'/}
> printf '%q\n' "$variable_in"
$'bla\r'
> printf '%q\n' "$variable_out"
bla

关于bash - 变量中的 dos2unix,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33506553/

10-13 06:40