代码改变世界

linux:字符串操作

2020-09-02 16:12  huoit  阅读(758)  评论(0)    收藏  举报

 

1.多行文本操作

#覆盖:> 是覆盖文本
cat>/usr/local/mysh/test.md<<EOF

这是第一行

这是第二行
EOF


#用法二:>> 是追加文本
cat>>/usr/local/mysh/test.md<<EOF
这是第一行

这是第二行
EOF

 

2.字符串操作

#!/bin/bash
net=https://www.baidu.com/news
#1. #*/ 表示从左边开始,删除第一个/和左边的字符
echo ${net#*/}
#/www.baidu.com/news

#2. ##*/ 表示从左边开始,删除最后一个/和左边的字符
echo ${net##*/}
#news

#3. %/* 表示从右边开始,删除第一个/和右边的字符删
echo ${net%/*}
#https://www.baidu.com

#4. %%/* 表示从右边开始,删除最后一个/和右边的字符删
echo ${net%%/*}
#https:

#5. 变量:开始位置:长度;如果没有长度,默认截取到最后
    #字符长度${#net}
echo ${net:0:${#net}-3}
#https://www.baidu.com/n
echo ${net:1}
#ttps://www.baidu.com/news

#6. 从右边开始截取字符 :0-倒数位置,截取右边剩余字符
echo ${net:0-8:3}
#com
echo ${net:0-8}
#com/news

3.cut

#tets.txt内有2行1234567

#1
#-c 字符
#截取文件每行的第2到5个字符
cut -c2-5 test.txt
>2345
  2345

#2
#-f 字段,默认TAB
#截取第2,3列数据显示
cut -f2,3 test.txt

#3
#-d 指定分隔符
cut -d"=" -f2 text.txt

 4.sed

#替换每一行第一个匹配指定字符的字符
sed -i 's/指定字符串/新字符串/' /home/1.txt

#替换所有匹配指定字符串的字符
sed -i 's/指定字符串/新字符串/g' /home/1.txt

sed -i 's/^@//' file


sed -i '/特定字符串/i 指定字符前面插入新行字符串' file
sed -i '/特定字符串/a 指定字符后面插入新行字符串' file