Linux-shell-获得字符串所在行数及位置

35次阅读

共计 592 个字符,预计需要花费 2 分钟才能阅读完成。

shell 获得字符串所在行数及位置

01 获取字符串所在的行数


方式一:用 grep -n
[root@root]# cat test
apple
bit
create
delect
exe
flow
good
[root@root]# cat test | grep -n exe
5:exe
[root@root]# cat test | grep -n exe | awk -F ":" '{print $1}'
5
方式二:用 sed -n '/ 查询的字符串 /=' 文件
[root@root]# cat test
apple
bit
create
delect
exe
flow
good
[root@root]# 
[root@root]# sed -n  '/exe/=' test
5

02 获取字符串中字符所在的位置


方式一:用 awk -Fwc -c 组合
[root@root]# echo 'uellevcmpottcap' | awk -F 'ott' '{print $1}';
uellevcmp
[root@root]# echo 'uellevcmpottcap' | awk -F 'ott' '{print $1}' | wc -c
10
方式二 :用 awk 'BEGIN{print index("'${str}'","'${str1}'") }'
[root@root]# str='uellevcmpottcap';str1='ott';awk 'BEGIN{print index("'${str}'","'${str1}'") }'
10

正文完
 0