shell脚本 总结

1. sed,主要用于处理文件输入流的文本替换
1.1
sed 's/[A-Z]/\l&/g' < mysql.sql

mv mysql.sql mysql.sql.old
--------------a2A.sed----------------
#! /bin/sed
#n
s/[a-z]/\U&/g
-------------------------
sed -f a2A.sed mysql.sql.old > mysql.sql



1.2
----------------merge-file.sh------------------------
#! /bin/sh

sed '/^#.*/d' ${1} | sort > ${1}_sort
sed '/^#.*/d' ${2} | sort > ${2}_sort

join ${1}_sort ${2}_sort

rm ${1}_sort ${2}_sort

----------------------------------------------------
2.awk,文本处理,eg重新编排字段

awk 'program' [ file ... ]

2.1
$ awk -F: -v 'OFS= --> ' '{ print  $1, $5 }' /etc/passwd
$ awk -F: '{ print "User" $1 " is really " $5 }' /etc/passwd

3.sort,

3.1 文本块排序
cat my-friends |
  awk -v RS="" '{ gsub("\n", "^Z"); print }' |
    sort -f |
      awk -v ORS="\n\n" '{ gsub("^Z", "\n"); print }' |
        grep -v '# SORTKEY'

##### awk和cut都是提取字段的好工具 ###########
... | awk -F: '{ print $5 }' | ...
... | cut -d: -f5 | ...
++++++++++++++++++++++++++++++++++++++++++++
awk -F ":" '{print $1}'
等价于
awk 'BEGIN{FS=":"}{print $1}'














猜你喜欢

转载自niub.iteye.com/blog/2099041