Shell编程常见面试题(待续)
1、使用Linux命令查询file中空行所在的行号
awk '/^$/{print NR}' file.txt
2、有文件cj.txt内容如下,使用Linux命令计算第二列的和并输出
张三 70
李四 80
王五 90
cat cj.txt | awk -F " " '{sum+=$2}END{print "sum="sum}'
[root@sandbox-hdp ~]# cat cj.txt | awk -F " " '{sum+=$2}END{print "sum="sum}'
sum=240
3、Shell脚本里如何检查一个文件是否存在?如果不存在该如何处理?
#!/bin/bash
if [ -f file.txt]; then
echo "文件存在"
else
echo "文件不存在"
fi
4、用shell写一个脚本,对文本中无序的一列数字排序并求和
cat demo.txt
2
5
1
4
6
3
sort -n demo.txt | awk '{a+=$0;print$0}END{print "SUM="a}'
[root@sandbox-hdp ~]# sort -n demo.txt | awk '{a+=$0;print$0}END{print "SUM="a}'
1
2
3
4
5
6
SUM=21
5、请用shell脚本写出查找当前文件夹(/opt/data)下所有的文本文件内容中包含有字符”zhang”的文件名称
grep -r "zhang" /opt/data
[root@sandbox-hdp ~]# grep -r "zhang" /opt/data
/opt/data/test2.txt:zhang san
# 补充提问,查找文件夹/opt/data下每一行开头含linie的文件名称
grep -r "linie" /opt/data | cut -d " " -f 1
[root@sandbox-hdp ~]# grep -r "linie" /opt/data | cut -d " " -f 1
/opt/data/test1.txt:linie
/opt/data/test2.txt:linie
Lan_xuaner
原创文章 52获赞 57访问量 5142
关注
私信
展开阅读全文