总结linux替换字符串的几种方法

总结linux替换字符串的几种方法,第1张

换个角度,替换/bin为/bin就不会有错啦

echo ${path/\/bin/\/bin} 其中/前面要加转义符\

或者用sed来替换,

echo $path | sed 's#/bin#/bin#g'格式为s#a#b#,将a替换为b。

后面加个g表示全局替换,即替换所有出现的。

也可以这样写:

echo $path | sed 's#[^s]bin#/bin#g'[^s]在正则中表示不是s的一个字符。这里只有两种情况,一种是sbin,一种是/bin,这样sbin就可以被排除了。

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表示全局替换

引用:

服务器版本

1. 如果你安装时 选择 英文

就不会出现这个现象

2. 如果你安装时 选择 简体中文

就会出现这个现象

因为 要显示中文 必须安装 fb 模组

http://zh.wikipedia.org/wiki/%E5%B8%A7% ... 2%E5%99%A8

http://en.wikipedia.org/wiki/Framebuffer

3. 暂时解决方案

3-1. 更改 locale 为 en_US.UTF-8

viewtopic.php?f=48&t=468149&p=3124110&hilit=en+US+UTF#p3124110

3-2. 安装 fbterm

search.php?keywords=fbterm&terms=all&author=&sc=1&sf=all&sk=t&sd=d&sr=posts&st=0&ch=300&t=0&submit=%E6%90%9C%E5%B0%8B

4. 安装 任何一个 桌面 例如 ubuntu-desktop 套件


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7423229.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存