本文举了一些shell中字符串相关的操作例子,包括查询字符串所在的行号、查找字符串首次匹配的行号、提取字符串所在的行号、比较两次字符串行号变化幅度等。
一、查询字符串所在的行号
示例: 输入查找命令: grep -n "xxx" str.txt
结果如下: 行号1,4在前,匹配字符串“xxx”在后,两者之间用冒号 “:” 隔开
二、查找字符串首次匹配的行号
结果如下:
同理,查找最后一次匹配的行号
结果如下:
查找字符串第二次匹配的行号
结果如下:
三、提取字符串所在的行号
结果如下:
提取首次匹配的行号
结果如下:
四、比较两次字符串行号变化幅度
#----str.txt
#---str2.txt
比较行号脚本
复制代码代码如下:
#!/bin/bash
rm -rf ret.txt total=`wc -l $1 | awk '{print $1}'` echo "total = $total" num=1 while read line do echo $line ret=`grep -n $line $2 | head -1` echo $ret if [ -z $ret ]; then num2=$total echo "null num2 = $total" else num2=`echo $ret | cut -d ":" -f 1` echo "num2 = $num2" fi echo $num change=`expr $num2 - $num` echo "$num2 - $num = $change" num=`expr $num + 1` echo "$line=$change" >> ret.txt done < $1 cat ret.txt
执行脚本命令:
运行结果如下: |