readlink -f [FILE NAME]
e.g.
readlink -f test_2
# return
# /home/wangcongying/tmp/test_2
dirname [文件(文件夹)绝对路径]
e.g.
dirname /home/wangcongying/tmp/test_2
# return
# /home/wangcongying/tmp
注意以下例子
dirname test_2
# return
# .
#两者效果一样,但是$()更利于区分
$ echo the last sunday is $(date -d "last sunday" +%Y-%m-%d)
$ echo the last sunday is `date -d "last sunday" +%Y-%m-%d`
exec 1> [LOG NAME]
exec 2> [LOG NAME]
set -x
...
...
...
set +x
cd $(dirname $full_path)
exec 1>${full_path%.*}.log
exec 2>${full_path%.*}.err
set -x
...
...
...
set +x
set -e
sort命令是在Linux里非常有用,它将文件进行排序,并将排序结果标准输出。sort命令既可以从特定的文件,也可以从stdin中获取输入。 语法:
sort [选项] [参数]
选项:
-b:忽略每行前面开始出的空格字符;
-c:检查文件是否已经按照顺序排序;
-d:排序时,处理英文字母、数字及空格字符外,忽略其他的字符;
-f:排序时,将小写字母视为大写字母;
-i:排序时,除了040至176之间的ASCII字符外,忽略其他的字符;
-m:将几个排序号的文件进行合并;
-M:将前面3个字母依照月份的缩写进行排序;
-n:依照数值的大小排序;
-o<输出文件>:将排序后的结果存入制定的文件;
-r:以相反的顺序来排序;
-t<分隔字符>:指定排序时所用的栏位分隔字符;
-u:就是 uniq ,相同的数据中,仅出现一行代表;
+<起始栏位>-<结束栏位>:以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。