1、使用Linux命令查询file1中空行所在的行号
awk '/^$/ {print NR}' file1
// 使用正则表达式^$ 来表示空行
2、使用Linux命令计算文件a.txt的第二列的和并输出
张三 40
李四 50
王五20
cat a.txt | awk -F " " '{sum+=$2} END {print sum}'
3、Shell脚本中如何检查一个文件是否存在,,如果不存在如何处理?
#!/bin/bash
if [ -f file.txt ]; then
echo "文件存在"
else
echo "不存在"
fi
#也可以将file换成$1,来将文件名称传进去,完成判断。
4、用Shell写个脚本,对文本中无序的一列数字进行排序
sort -n test.txt | awk '{a+=$0;print $0} END {print "SUM="a}'
//排序的话,前面的sort 就够了,后面是输出累加的总数。
5、请用Shell脚本写出查找当前文件夹/home下所有的文本内容中包含有字符”shen“的文件名称。
grep -r "shen" /home | cut -d ":" -f 1
5.shell中单双引号区别
- 单引号不取变量值;双引号取变量值
- 反引号`,执行引号中命令
- 单引号内部嵌套双引号,不取出变量值;双引号内部嵌套单引号,取出变量值
6、Linux中的环境变量的解释
修改/etc/profile文件
用来设置系统环境参数,比如$PATH/$HOME等
其中的环境变量是对系统内所有用户生效
使用bash命令,需要source /etc/profile一下
修改~/.bashrc文件
针对某一个特定的用户,环境变量的设置只对该用户自己有效
使用bash命令,只需要以该用户身份运行命令行就会读取该文件
把/etc/profile里面的环境变量追加到~/.bashrc目录
cat /etc/profile >> ~/.bashrc
说明
登录式Shell,采用用户名登录,会自动加载/etc/profile
非登录式Shell,采用ssh登录,不会自动加载/etc/profile,会自动加载~/.bashrc