
我告诉你命令,你自己写
sed -n “5,10p” file ==>指定从第5行到第十行
egrep "\<abc\>" file ==>在file中查找abc这个单词(指定的字段)
1、printf 命令也可以输出简单的字符串:"Hello World\n"。
2、format-string为双引号。
3、单引号与双引号效果一样。
4、没有引号也可以输出,但是有时会因参数分割不情出错。所以,最好还是加单引号或双引号。
5、格式只指定了一个参数,但多出的参数仍然会按照该格式输出,format-string 被重用。
6、如果没有 arguments,那么 %s 用NULL代替,%d 用 0 代替。
7、如果以 %d 的格式来显示字符串,那么会有警告,提示无效的数字,此时默认置为 0。
sed 可以实现 但sed不灵活
已测试
#!/bin/sed -n:next
/^student:/{
p
:gettoend
n
p
/^$/b next
b gettoend
}
保存到文件codesed中 使用 sed -f codesed dattxt 就可以输出文件
但文件格式必须严格,每个 student以空白行作为结束,结束行内没有任何字符。建议增加一个关键字end 用来作为结束标记。
#!/bin/bash
# count the line of the file
MYDIR="/root/test"
DIRLIST=`ls ${MYDIR}`
SF=()
MF=()
LF=()
for i in ${DIRLIST}
do
LINE=`cat ${MYDIR}/$i | wc -l`
if ((${LINE}<10))
then
SF=(${SF[]} $i)
elif ((${LINE}>=10)) && ((${LINE}<=100))
then
MF=(${MF[]} $i)
elif ((${LINE}>100))
then
LF=(${LF[]} $i)
fi
done
echo Small files: ${SF[]}
echo Medium files: ${MF[]}
echo Large files: ${LF[]}
已测试正确并无错误,把你要测试的目录的路径改下即可
以上就是关于shell 检索某文件中包含指定字段的行数全部的内容,包括:shell 检索某文件中包含指定字段的行数、shell 获取命令输出的几行里面的第二行怎么写、shell脚本怎样提取匹配行及向下几行的内容,行数不定等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)