问题1:使用Linux命令查询file1中空行所在的行号
答案:
[root@hadoop101 datas]$ awk '/^$/{print NR}' sed.txt
5
^代表头,$代表尾,首尾相连代表空也就是匹配空行,NR是行号
问题2:有文件chengji.txt内容如下:
张三 40
李四 50
王五 60
使用Linux命令计算第二列的和并输出
[root@hadoop101 datas]$ cat chengji.txt | awk -F " " '{sum+=$2} END{print sum}'
150
以空格分隔开,由于shell是一行一行相加的,所以可以采用直接相加 END是输出在最后
问题1:Shell脚本里如何检查一个文件是否存在?如果不存在该如何处理?
#!/bin/bash
if [ -f file.txt ]; then
echo "文件存在!"
else
echo "文件不存在!"
fi
开头是解释器最好要写不然可能会报错,中括号两边一定要留出空格,因为不留出空格就变成赋值了,最后不能够忘记fi
问题1:用shell写一个脚本,对文本中无序的一列数字排序
[root@CentOS6-2 ~] cat test.txt
9
8
7
6
5
4
3
2
10
1
[root@CentOS6-2 ~] sort -n test.txt|awk '{a+=$1;print $1}END{print "SUM="a}'
1
2
3
4
5
6
7
8
9
10
SUM=55
sort的运用
问题1:请用shell脚本写出查找当前文件夹(/home)下所有的文本文件内容中包含有字符”shen”的文件名称
[root@hadoop101 datas]$ grep -r "shen" /home | cut -d ":" -f 1
/home/atguigu/datas/sed.txt
/home/atguigu/datas/cut.txt