Bash Shell字符串操作小结

2019-09-23 09:39:38王冬梅

[[ "abc" == "abc" ]]       # 逻辑真 (string comparision)
[[ "11" < "2" ]]           # 逻辑真 (string comparision), 按ascii值比较
7. 连接
s1="hello"
s2="world"
echo ${s1}${s2}   # 当然这样写 $s1$s2 也行,但最好加上大括号

8.将一批文件中的所有string替换
for i in file_list
do
vi $i <<-!
:g/xxxx/s//XXXX/g
:wq
!
done

9.翻转

方法一:
使用rev命令

方法二:
编写脚本实现
#!/usr/bin/awk -f
################################################################
# Description : duplicate rev in awk
################################################################
{
revline = ""
for (i=1;i<=length;i++)
{
revline = substr(,i,1) revline
}
}
END{print revline}


10.匹配
grep
egrep
fgrep

11.得到字符串中某个字符的重复次数
echo $a |tr "x" "n" |wc -l
得到的结果需要减去1
或者
echo $a |awk -F"x" '{print NF-1}'


12.如何将字符串内每两个字符中间插入一个字符
使用sed
echo $test |sed 's/../&[insert char]/g'