Shell 脚本学习指南 读书笔记02

3. 文本处理工具

sort
sort -t: -k3nr -u /etc/passwd
sort myfile | uniq -c 显示重复个数和值
sort myfile | uniq -d 仅显示重复
sort myfile | uniq -u 仅显示未重复

fmt 格式化
sed -n -e 9995,10004p /usr/dict/words  | fmt -w 30

wc 计数
echo one world one dream | wc
wc -c -l -w
   字节数 行数 单词数

提取开头
head -n n
head -n
sed -e nq
sed nq
awk 'FNR  <=n '

取尾
tail -n 100 -f afile


4 . 管道
join -t: $1 $2 | cut -d: -f 2-  截取从第二个字段起到最后


5. 变量
export name[=value]
export -p
readonly name[=value]
readonly -p

PATH=. awk ',,,'   这个path只对awk起效
env -i
unset -v -f

特殊
$# 参数个数
$* $@ 所有参数
"$*"   ==   "$1 $2 $3..."
"$@"   ==   "$1" "$2" ...

case $1 in
-f)
...
;;
*)
...
;;
-d | -dir)
...
esac

循环

for i in *.xml
do
...
done

while  condition
do
...
done

until condition
do
...
done

函数
wait_for_user(){
  until who | grep "$1" > /dev/null
  do
     sleep ${2,-30}
  done

}

猜你喜欢

转载自foxmails.iteye.com/blog/965539