bash - 变量中的 dos2unix

标签 bash dos2unix

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

variable="bla\r"
dos2unix $variable

也欢迎使用其他命令的建议。

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

最佳答案

这里不需要任何外部命令;您可以使用参数扩展来仅使用 shell 本身内置的功能来删除 CR,这样既可以更快地执行(使用相当短的字符串),又可以保证在任何具有 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/

相关文章:

linux - 如何通过shell脚本调用COBOL程序

arrays - echo 数组的元素不输出任何内容

regex - Sed 用文件内容替换模式

java - 使用 Maven 将文件转换为 UNIX 格式

linux - 如何对多个文件夹和子文件夹中的文件运行 dos2unix 命令?

Bash 这里的文档没有输出,知道为什么吗?

linux - 从网站下载 JPG 文件的 Bash 脚本

linux - 如何将一些文件从dos格式转换成unix格式

windows - 在 Windows 中对 500k 行文件执行 dos2unix 的最佳方法是什么?

utf-16 - dos2unix:在第 1703 行找到的二进制符号 0x04