【linux】打印字符串中指定行
2024-08-04 14:34:11
只打印第10行 关键在于当行数小于10时不输出。
用 head tail的关键问题是当行数小于10的时候用 head -n 10 只会打出前面的行,再用tail就错了。
所以要知道源文件一共有多少行。用wc
wc -l 显示文件一共有多少行 -w列出有多少字(英文单字) -m列出有多少字符
但是得到了这个数字怎么用呢,需要一个变量存储行数,然后用if语句处理
加:
可以用 tail -n +10 表示从第10行开始显示,这样如果没有第10行就会显示空了
下面是多种答案:
num=$(cat file.txt|wc -l)
if (( $num > 9 )); then
cat file.txt|head -|tail -
fi
STARTING=; NLINES=; cat file.txt | tail -n+${STARTING} | head -n${NLINES}
LINE_NUM=`head -n file.txt | wc -l` if (( $LINE_NUM == "" )); then
head -n file.txt | tail -n
else
echo ""
fi
# Solution
cnt=
while read line && [ $cnt -le ]; do
let 'cnt = cnt + 1'
if [ $cnt -eq ]; then
echo $line
exit
fi
done < file.txt # Solution
awk 'FNR == 10 {print }' file.txt
# OR
awk 'NR == 10' file.txt # Solution
sed -n 10p file.txt # Solution
tail -n+ file.txt|head -
困惑:
①用if[ ]就出错??
②不用变量,直接写if (( `cat file.txt|wc -l` == 10 )) 也出错??
最新文章
- CSS3自定义滚动条样式 -webkit-scrollbar
- 推荐《HeadFirst设计模式》
- [CF442B] Andrey and Problem (概率dp)
- CSS3中的counter和content属性,一些简单的内容显示就不需要JS去实现了
- Robotium学习笔记一
- PowerShell随笔2_分支 选择 循环 特殊变量
- [Locked] Count Univalue Subtrees
- POJ 1118 Lining Up
- SuperSocket入门(三)-Telnet多服务实例和服务实例交互配置详解
- ALS交替最小二乘法总结
- Python连接Access数据库遇到问题&#39;ADODB.Connection&#39;, &#39;未找到提供程序。该程序可能未正确安装。&#39;的处理办法
- echarts如何给柱形图的每个柱子设置不同颜色
- JAVA体系的线程的实现,线程的调度,状态的转换
- python 中的集合set
- CH#17C 舞动的夜晚
- Django-类视图与中间件
- cocopods 问题
- swift - UIStepper的用法
- R302指识别开发笔记
- js字符编码笔记