云中烛火

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

linux下的文本操作 

test.txt文件内容如下

[root@localhost abc]# cat test.txt 
1
2
3
4
5
6
7
8
9
10

 

sed方法:

  sed 'N;N;s/\n/ /g' test.txt

[root@localhost abc]# sed 'N;N;s/\n/ /g' test.txt 

  1 2 3
  4 5 6
  7 8 9
  10

 

说明:N 追加下一个输入行到模式空间,用了两次把当前行的后两行都追加到了模式空间,即多行模式空间。让后用s将\n换行符替换成空格。最后的g是全局替换即替换所有的\n,若不加g表示只替换第一个。

 

awk方法:

  awk 'ORS=NR%3?" ":"\n"{print}' test.txt

[root@localhost abc]# awk 'ORS=NR%3?" ":"\n"{print}' test.txt
1 2 3
4 5 6
7 8 9
10

 

或者将其输入至另一个文件

awk 'ORS=NR%3?" ":"\n"{print $0 >> "abc" }' test.txt

转载此文

 

posted on 2015-06-10 17:26  云中烛火  阅读(2369)  评论(0)    收藏  举报