awk #针对列的操作 # 慕容复 grep #针对行的操作 # 超级重要 sed # stream流文件 # 重要 #### grep -i -w # word -r #目录里查找内容 通常与 -l 合起来使用。 -A5 # after 5行 keyword 后5行。 -B4 # before 4行 keyword 前4行 grep -iw local_root vsftpd.conf.txt -A5 -B4 过滤 grep pgrep egrep cat /etc/fstab | grep -v "^#" |grep -v ^$ 过滤二次 cat /etc/fstab | egrep -v "^#|^$" #过滤一次 -e regular expression正则表达式 regex/re cat /etc/fstab | grep -Ev "^#|^$" # # awk 基本语法为:awk选项 '{[文件开始前]}; {print第几列}'。例如: awk '{print $0}' fstab ##:打印文件每一行的所有内容。 awk -F : '{print $0}' /etc/passwd ##:以冒号为分隔符,打印文件每一行的所有内容。 ## file separator #分隔符 默认是 空格或者tab ## delimeter awk '{print $0}' fstab #打印整个文件内容 awk '{print $1,$3}' fstab #打印第1列,第3列 awk '{print $1,$2}' fstab #打印第1列,第2列 awk '{print $1"---"$2}' fstab #打印第1列,第2列 列之间用“---”隔开 awk '{print $1"+++"$2"^^^^"$3}' fstab awk 'BEGIN { FS = ":"; OFS = "\t"} { print $1, $3}' /etc/passwd awk -F : 'BEGIN { print "用户名\t用户ID"} { print $1, $3}' /etc/passwd awk -F “:” '{ print $1, $3}' /etc/passwd awk -F : 'BEGIN{print "开始"}; {print $1,$3}; END {print "结束"}' /etc/passwd #!/usr/bin/awk -f # 设置字段分隔符为冒号 BEGIN { FS = ":" } # 处理第 1 行到第 3 行 NR == 1, NR == 3 { print $1 "\t" $NF }