linux basename dirname diff comm

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


补充对比样式:
前面相比,删除最短的${变量#样式};删除最长的${变量##样式}
后面相比,删除最短的${变量%样式};删除最长的${变量%%样式}
取代或删除部分字符串,只替换第一个对比符合的字符串${变量/样式/替换字符串},全部符合的${变量//样式/替换字符串};

删除第一个对比符合的字符串${变量/样式/},全部符合的${变量//样式/}
整理小结:

linux basename dirname diff comm_第1张图片

详细请见:http://hi.baidu.com/ysdaniel/blog/item/fee6fffcbc9b7213d8f9fdfe.html


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

你可能感兴趣的:(linux basename dirname diff comm)