shell脚本基础
shell脚本调试
-n,读一遍脚本中的命令但不执行,用于检查脚本中的语法错误
-v,一边执行脚本,一边将执行过的脚本命令打印到标准错误输出
-x,提供跟踪执行信息,将执行的每一条命令和结果依次打印出来
shell脚本对文本中无序的一列数字排序
1 | [root@server ~]# sort -n 190307.txt | awk '{a+=$0;print$0} END {print "sum="a}' |
shell命令查看文件空行行号
1 | [root@server ~]# grep -n ^$ filename |
shell文件夹操作
删除一个文件夹下所有文件但是不删除文件夹
1
[root@server-ai ~]# find . -type f | xargs rm -f
只复制目录的结构,而不复制目录的内容
1
[root@server-ai ~]# find ~ -type d -exec mkdir -p demo/\{\} \;
查找当前文件夹下所有的文本文件内容中包含有字符”math”的文件名称
1
[root@server-ai ~]# grep -r "math" /home/chenjiawei/test/shell/ | cut -d ":" -f 1
遍历目录及其子目录中的所有文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14#! /bin/bash
function read_dir(){
for file in `ls $1` #注意此处这是两个反引号,表示运行系统命令
do
if [ -d $1"/"$file ] #注意此处之间一定要加上空格,否则会报错
then
read_dir $1"/"$file
else
echo $1"/"$file #在此处处理文件即可
fi
done
}
#读取第一个参数
read_dir $1执行命令
1
$ sh traveDir.sh DIR_NAME