basename 取得路径名称中最后的文件名部分
[root@localhost temp]# basename /etc/terminfo/
terminfo
以下脚本也可以得到同样的效果:
#!/bin/bash
# Filename:baseName.sh
###仿真basename指令
bn=${1##*/}
echo $bn
dirname 取得路径名称中的目录部分
[root@localhost temp]# dirname /etc/terminfo/
/etc
以下脚本也可以得到同样的效果:
#!/bin/bash
# Filename:dirName.sh
###仿真dirname指令
dn=${1%/*}
echo $dn
补充对比样式:
由前面相比,删除最短的${变量#样式};删除最长的${变量##样式}
由后面相比,删除最短的${变量%样式};删除最长的${变量%%样式}
取代或删除部分字符串,只替换第一个对比符合的字符串${变量/样式/替换字符串},全部符合的${变量//样式/替换字符串};
只删除第一个对比符合的字符串${变量/样式/},全部符合的${变量//样式/}
整理小结:
diff 比较两个文件之间的差异
diff file1 file2
comm 以列和列的方式,比较两个已排好序的文件
comm file1 file2
例子:
[root@localhost temp]# diff pp.txt jj.txt
8a9,11
> I am jj
> hi
> by
[root@localhost temp]# comm pp.txt jj.txt
hi pp
how are you
thks
by
I come again
you welcome me?
Oh,you not
then by again
I am jj
comm: file 2 is not in sorted order
hi
by