sed 将文件中的最后一行之后加上一句话 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
sbmzhcn
V2EX    Linux

sed 将文件中的最后一行之后加上一句话

  •  
  •   sbmzhcn Nov 21, 2014 5363 views
    This topic created in 4177 days ago, the information mentioned may be changed or developed.
    sed -i "/$/a somewords“ file
    可以在第段之后加上一句话,我想在文件中的最末尾加上一句话,并且是要换行再加上。
    请问如何操作?

    大家可以参考这个:
    http://stackoverflow.com/questions/21195825/add-a-period-at-end-of-paragraph
    13 replies    2014-11-26 05:57:41 +08:00
    q378648220
        1
    q378648220  
       Nov 21, 2014   2
    为什么不直接用echo 和 >> 追加在file后面呢。

    echo -e '\nendline' >> test.txt
    fising
        2
    fising  
       Nov 21, 2014
    @q378648220 哈哈因为他没想起来
    oott123
        3
    oott123  
       Nov 21, 2014 via Android
    @q378648220 说得好有道理…我刚刚还在想 awk …
    rrfeng
        4
    rrfeng  
       Nov 21, 2014
    sed -i "$a\nsomewords
    " file

    为什么不用 echo >> 哈哈哈
    rrfeng
        5
    rrfeng  
       Nov 21, 2014
    上面有问题,得用单引号!!$ 会被 bash 吃掉
    sbmzhcn
        6
    sbmzhcn  
    OP
       Nov 21, 2014
    @q378648220 @fising @oott123 没用echo是因为不想在控制台显示。文件也不一定存在,这是脚本中的一句,我测试的时候使用echo否符合我想要的结果。

    sed -i "\$aTEXTAPPEND” file 解决。
    msg7086
        7
    msg7086  
       Nov 21, 2014 via iPhone
    echo为什么会在控制台显示?
    什么文件不一定存在?
    sbmzhcn
        8
    sbmzhcn  
    OP
       Nov 21, 2014
    @msg7086 echo 是显示到屏幕, 不是吗,有个sed可以解决,为什么一定要用echo. 这些功能是在一个脚本中的,这个脚本的功能需要这样做。
    blacktulip
        9
    blacktulip  
       Nov 21, 2014
    @sbmzhcn echo 缺省到 stdout ,用 >> 可以 redirect ,参见 http://sc.tamu.edu/help/general/unix/redirection.html

    这种情况使用 echo 比较常见。
    msg7086
        10
    msg7086  
       Nov 22, 2014
    @sbmzhcn 你完全说错了
    1. echo只是把参数输送给1号文件描述符。如果你没有设定重定向,那么1号FD是指向STDOUT,然后是指向屏幕设备。如果设了重定向,那么1号FD就是你指定的文件了。
    2. 应该说echo就能解决的问题,为什么要动用sed?前者是文件内容追加,后者是正则表达式匹配替换。
    sbmzhcn
        11
    sbmzhcn  
    OP
       Nov 22, 2014
    @msg7086 我用这是想改动现有文件,文件不一定存在。
    @blacktulip 你说的对,是能用这实现,我有些也是用这实现的。
    dant
        12
    dant  
       Nov 22, 2014 via iPhone
    @sbmzhcn [ -e filename ] && echo 'balabalab' >> filename
    KentY
        13
    KentY  
       Nov 26, 2014
    @oott123 awk 并不麻烦 awk '7;END{print "foo"}' file
    About     Help     Advertise     Blog     API     FAQ     Solana     970 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    span class="small fade">VERSION: 3.9.8.5 63ms UTC 19:45 PVG 03:45 LAX 12:45 JFK 15:45
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86