我有一个看起来像这样的文件:
> cat my.txt
This is sentence 1.
This is sentence 2.
<empty line>
This is sentence 3.
在我的bash脚本中,当我添加尝试通过电子邮件发送文件时,会出现一个额外的行。
#!/bin/bash
outf="/tmp/my.txt"
action=`cat $outf`
echo $action | mail -s "my test" emailid@mail.com
这就是电子邮件的样子:
This is sentence 1.
<empty line>
This is sentence 2.
<empty line>
<empty line>
This is sentence 3.
<empty line>
如何删除多余的空行?
答案 0 :(得分:1)
在Unix中,字符音译工具'tr'存在
删除CR = 13(dec)= 0D(hex)= 15(oct):
tr -d '\015' < infile.txt > outfile.txt
删除LF = NL = 10(dec)= 12(oct)
tr -d '\012' < infile.txt > outfile.txt
删除两者:
tr -d '\015\012' < infile.txt > outfile.txt
不太确定这在linux中是如何工作的,但是:http://linux.about.com/library/cmd/blcmdl1_tr.htm
答案 1 :(得分:0)
使用-n
选项:
$ echo -n foo
这将取消新行。