更改文本文件的编码(用于古董内核文本的shell存档或脚本到ASCII文本,使用CRLF,LF行终止符)

时间:2013-09-12 02:53:18

标签: bash shell unix text

我正在编写一个小的bash脚本来查找FILEB中FILEA的第一行,如果匹配则返回带有文件名的文本。

问题是当我从FILEA中提取文本然后将其与简单的==作为if条件进行比较时,它会返回不同的颜色。

我已经将问题缩小到我正在使用的两个文件的编码

(FILEA = shell存档或古董内核文本的脚本)

(FILEB = ASCII文本,带CRLF,LF行终止符)

有没有办法将FILEA转换为ASCII以避免在通过UNIX进行比较时出现此问题?或者在UNIX之外也适用于我。

1 个答案:

答案 0 :(得分:0)

Unix使用单个字符进行行终止。如果要将CRLF文件转换为单字符终止,可以执行以下操作:

sed -e 's/<CTRL-V><CTRL_M>//' filename

其中<CTRL-V>是用V按下的Control键(命令中不包含<>个字符。