lzth.net
当前位置:首页 >> 怎么使用shEll脚本将,每行前两个字符串去替换这一... >>

怎么使用shEll脚本将,每行前两个字符串去替换这一...

楼主看这样可以实现你的要求吗? #!/bin/bash for i in {1..n} #n为你这个文本的行数 do HEAD=`cat testfile | sed -n "$i"p | awk -F, '{print $1$2}'` #testfile为文本文件名 sed "s/;/$HEAD/g" testfile done

sed -i 's/^..//' file.txt 使用了sed的正则替换命令,格式为 s/A/B/ 其中,A为正则表达式,^ 匹配行首位置,点号 . 匹配任意一个字符。 这里即将行首的前两个字符替换为空。

sed -i '/aaa/{:a;n;s/123/xyz/g;/eee/!ba}' yourfile先匹配aaa,匹配到后执行大括号里的语句。 n 读取下一行 s/123/xyz/g 将123替换为xyz,全局替换,同一行中出现几次替换几次 :a 设定跳转标签a /eee/!ba 若当前行匹配不上eee,则跳转到标签a...

如果知道在哪一行,可以用 sed -i '2s/\(.*\)[0-9]$/\1a/' abc.m2是要处理的行号, s/ a / b / 用b替换a \(.*\)[0-9]$ 正则表达,前面一部分放捕获里面,末尾跟着一个数字 \1a 是替换项,\1代表前面的捕获,a就是字面的意思 例如:

根据位置替换即可: read ipsed -ri "/subnet/s/(subnet )[^ ]+( netmask.*)/\1$ip\2/" /mnt/file/subnet/ - 先正则匹配到含有subnet的行,然后替换。 替换的时候将不变的部分用小括号括起来,后面依次用\1 , \2 原封不动地引用回来。 -r 选项用...

sed "s/zip/$zip/g" file sed双引号可以识别变量

sed '1,7s/^字符串.*/替换内容/' file 不要随便加 -i 参数。先确定好在加。

用Replace Pioneer处理很轻松,找到")"和"("之间的内容,把"、"替换成"|"就可以了。 需要说明的是,你的括号是中文括号"()"而不是英文括号"()",所以不用转义。 以下是详细步骤: 1. ctrl-o打开待处理txt文件 2. ctrl-h打开replace窗口 * 在S...

YDAY=$(date +"%Y%m%d" -d "-1 days")TDAY=$(date +"%Y%m%d")awk -v YDAY=$YDAY -v TDAY=$TDAY 'NR==1 {if(substr($0,20,8)==YDAY) $0=substr($0,1,19) TDAY substr($0,28)if(substr($0,34,8)==YDAY) $0=substr($0,1,33) TDAY substr($0,42)}/^T...

在linux中回车键是\n 那么替换就是 awk 'BEGIN{RS="\n";ORS="AAA";}{print $0}' test.txt将test.txt中所有\n替换成AAA

网站首页 | 网站地图
All rights reserved Powered by www.lzth.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com