<string id="str_ig_ghjjk">hello</string>
字符串内容可能是任意字符串,如何把>和<中间的字符串替换为我的字符串比如world
具体例子:
比如要替换第128行
sed -i '128s/>.*</>world</' test.txt
这样子
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)
}
/^TH/{
if(substr($0,21,8)==YDAY)
$0=substr($0,1,20) TDAY substr($0,29)
}
{print }' 文件名
Linux sed 命令是利用脚本来处理文本文件。
sed 可依照脚本的指令来处理、编辑文本文件。
Sed 主要用来自动编辑一个或多个文件、简化对文件的反复 *** 作、编写转换程序等。
语法
参数说明:
regular_express.txt 文件内容如下:
利用 sed 将 regular_express.txt 内每一行结尾若为 . 则换成 !
:q:q
利用 sed 直接在 regular_express.txt 最后一行加入 # This is a test:
由於 $ 代表的是最后一行,而 a 的动作是新增,因此该文件最后新增 # This is a test!
sed 的 -i 选项可以直接修改文件内容,这功能非常有帮助!举例来说,如果你有一个 100 万行的文件,你要在第 100 行加某些文字,此时使用 vim 可能会疯掉!因为文件太大了!那怎办?就利用 sed 啊!透过 sed 直接修改/取代的功能,你甚至不需要使用 vim 去修订!
sed -i 常见用法(直接对文本文件进行 *** 作的)
替换掉每行的第一个字符串
替换掉所有的字符串 sed -i 's/原字符串/新字符串/g' file
去掉 “行首” 带“@”的首字母@
特定字符串的行前插入新行
特定字符串的行后插入新行
特定字符串的删除
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)