某些场合下,用户必须在Linux系统下使用MS-DOS的文本文件. 尽管不借助任何程序也能够在所有系统上使用一个文本文件,但现在的情况是: DOS在每一行的结尾都使用一个换行符和一个回车符作为标记,而Linux(其他的UNIX系统也是这样)在每行的最后仅使用一个换行符. 因此,如果用户使用带有 -b 选项的 VI 编辑器打开一个DOS文本文件(vi -b file),将看到在每一行都有一个^M符号. 这个^M代表了Ctrl+M,它表示是回车符.
在Linux系统上,通过使用带有-d选项的tr命令,可以很容易的将DOS文本文件的那些额外的回车符去掉. 比如要将一个名为 file.dos的DOS文本文件转换为file.linux的Linux的文本文件,可以输入下面的命令:
tr -d '\015' < file.dos >file.linux
在这个命令中,'\015'是用八进制表示的回车符的ASCII码.
可以使用tr命令从输入中转化或者删除字符. 当使用了带有-d选项的tr命令时,它从输入数据中删除所有指定的字符. 在 -d 选项之后,必须指定要删除的字符. 同许多UNIX程序一样,tr的读写操作都是针对标准的输入和输出设备. 就像命令里显示的那样,用户必须使用输入和输出的重定向,才能利用tr删除一个文件中所有指定字符,并将输出存储到另一个文件中.
阅读(1641) | 评论(0) | 转发(0) |