版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36474990/article/details/81567319
shell脚本的知识其实不算多,但是要完全记住这些命令还是需要经常的使用才能熟练起来。
awk
awk不仅可以用行作为分割单位,还可以用列作为单位处理文件。awk缺省的行分隔符是换行符。缺省的列分隔符是连续的空格和tab。自定义也是可以的。
使用方式:
awk /pattern/{actions}
pattern可使用正则表达式,action表示一系列的操作。
$0表示输出整条记录。$1表示第一列,$2表示第二列。
awk支持print命令以及printf命令。
virtual-machine:shellStudy$ awk '/producta.*$/{print $0}' file
producta 10
virtual-machine:shellStudy$ awk '/producta.*$/{print $1}' file
producta
virtual-machine:shellStudy$ awk '/producta.*$/{print $2}' file
10
virtual-machine:shellStudy$ cat file
producta 10
productb 120
productc 11
productd 101
producte 150
还可由判断条件进行输入输出
virtual-machine:shellStudy$ awk '$2 >100{print $0}' file
productb 120
productd 101
producte 150
BEGIN{} //{} END{}
这个表达式表示在文本处理之前以及之后需要做的工作。并且BEGIN和END的里面的语句在整个执行过程中只执行一次。
awk还可以用脚本的方式运行。
awk具有自己的内置变量,
FS设置输入域分隔符
OFS设置输出域分隔符
find
功能:可在指定的目录下面搜索文件,并执行指定的操作。
find操作的常见选项:
-name按名字查找
-r 递归查找
-user 按文件属主进行查找
-type 查找某一类型的文件
-newer file1 ! -newer file2 查找比file1要新但比file2旧的文件
-perm 按照文件权限来查找文件
-size n查找文件大小为n字节大小的文件
其它
- free
该命令主要是用于查看内存占用资源的。
- diff
用于对比两个文件或者整个目录下的差异。
使用方法:
diff from-file to-file
- cmp
也是用来比较两个文档的差异,利用字节比对。
- tr
用来删除或者替换一段信息中的文字。
- split
分割命令,将大文档分割成小文档。方便查看。