只打印第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 )) 也出错??

最新文章

  1. 《数据结构与算法Python语言描述》习题第二章第二题(python版)
  2. Java 反射 getDeclareFields getModifiers setAccessible(true)
  3. linux centos6.5 ftp网页vsftpd配置
  4. ajax使用serialize()序列化提交
  5. mac/linux常用命令
  6. 利用OData轻易实现串流数据的可视化
  7. eclipse导入git项目(转)
  8. 十二、BOOL冒泡
  9. 【C#学习笔记】结构体使用
  10. ios 字符串的操作汇总
  11. Linux命令之_Cut(转)
  12. 》》jqurey mobile 初
  13. vuex - 项目结构目录及一些简单配置
  14. Linux下的Shell编程(2)环境变量和局部变量
  15. 安装Linux操作系统,学习Liunx基础
  16. python永久添加环境变量
  17. python_基础语法
  18. redis cluster 集群重新启动关闭
  19. ElasticSearch在linux上安装部署(转)
  20. python-day64--web框架

热门文章

  1. 使用 libevent 和 libev 提高网络应用性能——I/O模型演进变化史
  2. android开发系列之回调函数
  3. Go defer延迟执行
  4. python生成带参数二维码
  5. UIButton之Block回调
  6. iOS进阶学习-数据库
  7. UML 中的用例图解析以及starUML详细介绍
  8. Java Day 11
  9. JPA学习---第十二节:JPA中的联合主键
  10. 随机四则运算 C语言