- 论坛徽章:
- 0
|
7可用积分
有一文本文件,比如tmpfile,其中含一些空行(可能是空,也可能是由空白字符如blank,tab等组成),内容类似:
$cat tmpfile
d---- 7/20/2007 11:28 AM publish_html
d---- 10/24/2007 6:59 PM practicalcommonlisp
-a--- 12/25/2007 10:51 AM 73603 fs-kit-0.4.tar.gz
-a--- 12/25/2007 1:44 PM 1457360 autoconf.pdf
-a--- 12/27/2007 8:56 AM 894826 autoconf-archive-2007-12-18.tar.bz2
-a--- 12/27/2007 9:14 AM 786188 bashref.pdf
-a--- 10/18/2007 7:12 PM 1030575 onlisp.pdf
-a--- 10/18/2007 7:14 PM 450125 practicalcommonlisp.zip
|
在每行的结尾添加一个特定格式的字符串,比如添加一个" <<<append",最后格式如下:
$cat tmpfile
d---- 7/20/2007 11:28 AM publish_html <<<append
d---- 10/24/2007 6:59 PM practicalcommonlisp <<<append
-a--- 12/25/2007 10:51 AM 73603 fs-kit-0.4.tar.gz <<<append
-a--- 12/25/2007 1:44 PM 1457360 autoconf.pdf <<<append
-a--- 12/27/2007 8:56 AM 894826 autoconf-archive-2007-12-18.tar.bz2 <<<append
-a--- 12/27/2007 9:14 AM 786188 bashref.pdf <<<append
-a--- 10/18/2007 7:12 PM 1030575 onlisp.pdf <<<append
-a--- 10/18/2007 7:14 PM 450125 practicalcommonlisp.zip <<<append
|
虽然
$sed 's/$/ <<<append/g tmpfile |
或者
$awk '{ print $0 " <<<append" }' tmpfile |
都可以在行尾添加字符串,但是不能正确处理空行,会把每个空行的结尾也添加 <<<append,怎样才能正确处理这些空行?
谢谢!
[ 本帖最后由 micra 于 2008-1-2 20:33 编辑 ] |
最佳答案
查看完整内容
sed '/^[[:blank:]]*$/!s/$/
|