Linux命令之sed-替换字符串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux命令之sed-替换字符串相关的知识,希望对你有一定的参考价值。
参考技术A 1. sed -i 's/CANCEL_TIME/CANCEL_RECV_TIME/g' csv2drds-TF_B_PAYLOG_D.json---指定文件替换,将文件中的CANCEL_TIME替换成CANCEL_RECV_TIME;
2. sed -i 's/CANCEL_TIME/CANCEL_RECV_TIME/g' `grep CANCEL_TIME -rl ./*TF_B_PAYLOG_D*.json`
---批量文件替换,递归查找含CANCEL_TIME的文件,将所有文件中的CANCEL_TIME替换成CANCEL_RECV_TIME;
3. sed -i 's/\/tmp\/ditagent\/TF_B_PAYLOG_D.csv/\/vdata\/datapre\/281\/'"$filename"'/g' $jsonname
---带/的字符串替换,将/tmp/ditagent/TF_B_PAYLOG_D.csv替换成/vdata/datapre/281/'"$filename"'
4. sed -i 's/^/beginstring&/g' *.txt
---在所有行首添加字符串;
5. sed -i 's/$/&endstring/g' *.txt
---在所有行末添加字符串
6. sed -i '2s/原字符串/替换字符串/g' *.txt
---替换第2行
7. sed -i '$s/原字符串/替换字符串/g' *.txt
---替换最后一行
8. sed -i '2,5s/原字符串/替换字符串/g' *.txt
---替换2到5行
9. sed -i '2,$s/原字符串/替换字符串/g' *.txt
---替换2到最后一行
10. sed 's/\x80/|/g' test.dat |iconv -f gbk -t utf-8 > testutf8.dat
---把test.dat中的欧元符号替换成竖线,再将文件gbk格式转成utf8
-i选项是直接在文件中替换,不在终端输出;
-r选项是所给的path中的目录递归查找;
-l选项是输出所有匹配到oldstring的文件;
s/表示替换
/g表示全局替换
linux命令之sed
sed命令格式
sed [options] ‘command‘ file(s)
替换:s命令
sed ‘s/原字符串/替换字符串/‘
末尾的“g”代表替换全部,否则只替换每行的第一个:
# 替换所有匹配关键字 sed ‘s/原字符串/替换字符串/g‘
“-i”参数:直接修改并保存
sed -i ‘s/原字符串/替换字符串/g‘ filename
对文件做备份:
sed -i ‘.bak‘ ‘s/原字符串/替换字符串/g‘ filename
例:source Insight中经常遇到很多Tab符换成4个空格,就可以使用此命令批量替换。
sed -i ‘s/\t/ /g‘ *.c //将所有.c文件中的Tab符替换为4个空格 sed -i ‘s/\t/ /g‘ *.h //将所有.h文件中的Tab符替换为4个空格
以上是关于Linux命令之sed-替换字符串的主要内容,如果未能解决你的问题,请参考以下文章