zoukankan      html  css  js  c++  java
  • shell技巧之多行改写成一行

     
    SED 分析 :
    h为copy H为append
    sed -n '1h;1!H;${g;s/\n/ /g;p;}'
    1h 为将第一行copy 到 Hold space,1!H 为将非第一行的append到hold space, ${...} 为如果是最后一行这进行替换
     
    2009-08-06 10:37
    文本内容:
    $cat test.txt
    001
    002
    003
    004
    005
    006
    0000999
    需要格式化成:
    001 002 003 004 005 006 0000999
    方法一、最好的答案是waker老大提供的,就不解释了:
    xargs < test.txt
    方法二、整个文件读入一个变量,然后直接打印,也很容易理解,dolphinlater提供:
    a=`cat test.txt`;echo $a

    方法三、使用tr把换行符替换成空格:
    tr -s "\n" " " < test.txt;echo
    方法四、使用sed,把整个文件读入保持空间,处理最后一行的时候,替换所有换行符为空格,打印:
    sed -n '1h;1!H;${g;s/\n/ /g;p;}' test.txt
    方法五、使用awk,读入一行打印一行,但是不打印换行符,最后一行多打印一个换行符:
    awk '{printf("%s ",$0);}END{print}' test.txt
    方法六、使用paste命令格式化打印,-d指定分隔符,-s表示合并成一行:
    paste -d" " -s - < test.txt
    方法七、使用pr格式化打印,-s指定分隔符,-50指定每行打印多少域,-t指定取消页眉、页尾:
    pr -50t -s" " test.txt

    转载自:http://blog.sina.com.cn/s/blog_4a3c301c0100lqbm.html
  • 相关阅读:
    文件操作
    内置函数
    lambda表达式
    函数基础
    基础数据类型-dict
    基础数据类型-tuple
    基础数据类型-list
    基础数据类型-set
    Python开发【第三篇】基本数据类型
    Python开发【第二篇】运算符
  • 原文地址:https://www.cnblogs.com/feihongwuhen/p/7169888.html
Copyright © 2011-2022 走看看