
1、可以借助�º.shellå½ä»¤æ§è¡å¦ä¸ä¸ªèæ¬æä»¶æè ç¨åéä¿åãæ¯å¦a.shåb.shï¼a.shä¸è°ç¨b.shç代ç ï¼ä¸èµ·è¾åº"hello world"çå符串ãb.shç代ç å¦ä¸echo " world!"ã
2ãa.shå¯ä»¥åå©"."æ¥æ§è¡b.shèæ¬ï¼b.shæ§è¡ç»æå¯ä»¥ä¿åå¨åéä¸ï¼ä¹å¯ç´æ¥è¾åº,a.shä¸çå 容å¦ä¸:echo "å¯ä»¥ç¨.å½ä»¤æ¥æ§è¡èæ¬æä»¶"echo "hello `./b.sh`"var=`./b.sh`echo"hello $var"ã
3ãa.shä¹å¯ä»¥åå©sourceå½ä»¤æ§è¡b.shèæ¬ï¼b.shæ§è¡ç»æå¯ä»¥ä¿åå¨åéä¸ï¼ä¹å¯ç´æ¥è¾åºãa.shä¸çå 容å¦ä¸:echo "ç¨sourceå½ä»¤æ§è¡èæ¬æä»¶"echo "hello `source ./b.sh`"var=`source ./b.sh`echo "hello $var"ã
4ãa.shä¸ä¹å¯ä»¥åå©äºbashãshçå½ä»¤æ¥æ§è¡b.shèæ¬ï¼b.shçæ§è¡ç»æå¯ä»¥ä¿åå¨åéä¸ï¼ä¹å¯ä»¥ç´æ¥è¾åºãa.shä¸çå 容å¦ä¸ã
5ãå¦å¤ï¼ä¹å¯ä»¥ä½¿ç¨$()ï¼å°b.shçæ§è¡ç»æçå 容ä¿åå°åéä¸ï¼å°±å®æäºã
原文件:
现在要在第二行即“bbbb”行的下面添加一行,内容为“xiaowu”
如果要加两行“xiaowu”可以用一下语句,注意用“\n”换行
如果要在第二行即“bbbb”行的上添加一行,内容为“xiaowu”,可以把参数“a”换成“i”
以上文件中只有一行匹配,如果文件中有两行或者多行匹配,结果有是如何呢?
由结果可知,每个匹配行的下一行都会被添加“xiaowu”
那么如果指向在第二个“bbbb”的下一行添加内容“xiaowu”,该如何 *** 作呢?
可以考虑先获取第二个“bbbb”行的行号,然后根据行号在此行的下一行添加“xiaowu”
获取第二个“bbbb”行的行号的方法:
方法一:
方法二:
由结果可知第二个“bbbb”行的行号为4,然后再在第四行的前或后添加相应的内容:
向指定行的末尾添加指定内容,比如在“ccccc”行的行尾介绍“ eeeee”
原文链接
最后还是想用简单的脚本解决,发现使用 sed 命令可以方便得在文件每一行后添加一个字符。首先看一下 sed 命令。
sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间” (pattern space) ,接着用 sed 命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。 Sed 主要用来自动编辑一个或多个文件;简化对文件的反复 *** 作;编写转换程序等。
假设处理的文本为 test.file ,在每行的头添加字符,比如 HEAD ,命令如下:
在每行的行尾添加字符,比如 TAIL ,命令如下:
几点说明:
这样就处理完了!总之恰当使用sed命令是可以避免来回打开文件造成的时间浪费,可以使用sed命令在linux脚本中做一些更好玩的事情。希望这篇文章可以给你一些帮助~
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)