一,grep
Syntax: grep [options] pattern [files]
搜索在文件中包含pattern的所有的行
#grep John /etc/passwd
搜索在文件中不包含pattern的所有的行
#grep -v John /etc/passwd
搜索在文件中包含pattern的行数
#grep -c John /etc/passwd
忽略大小写
#grep -i John /etc/passwd
搜索子目录,展现文件名和行
#grep -ri john /home/users
搜索子目录,只展现文件名
#grep -ril john /home/users
二,grep与正则的配合
行的开始^
grpe "^aa" message.logs
行的结尾$
grpe "aa$" message.logs
计算空行数
grep -c "^$" message.logs
三,find
Syntax: find [pathnames] [conditions]
查找文件名包含特定的字符
# find /etc -name "*mail*"
查找文件大小大于100M
#find / -type f -size +100M
查找文件在最近的60天未被修改
# find . -mtime +60
查找文件在最近的2天内被修改的
# find . –mtime -2
查看以.tar.gz并且大于100M的文件,并且删除
# find / -type f -name *.tar.gz -size +100M -exec ls -l {}
\;
# find / -type f -name *.tar.gz -size +100M -exec rm -f {}
\;
四,sed
Syntax: #sed ‘ADDRESSs/REGEXP/REPLACEMENT/FLAGS’ filename
Syntax: #sed ‘PATTERNs/REGEXP/REPLACEMENT/FLAGS’ filename
- s is substitute command
- / is a delimiter
- REGEXP is regular expression to match
- REPLACEMENT is a value to replace
FLAGS选项:
- g 用REPLACEMENT代替所有的 REGEXP
- n 可以是任意数字,用REPLACEMENT代替REGEXP的第n个实例。
- p 打印匹配后的行
- i 忽略大小写
- w 将匹配后的行写入到文件中
我们也可以用( one of @ % ; : )的其中一个代替/
使用Linux-Unix替代Linux,只替代第一次
$ sed 's/Linux/Linux-Unix/' thegeekstuff.txt
使用Linux-Unix替代Linux,替代所有的
$ sed 's/Linux/Linux-Unix/g' thegeekstuff.txt
使用Linux-Unix替代Linux,替代第2次
$ sed 's/Linux/Linux-Unix/2' thegeekstuff.txt
将替换后的行输出并打印 ,-n 表示取消默认输出
$ sed -n 's/Linux/Linux-Unix/gpw output' thegeekstuff.txt
删除所有的以#开头的行 -e 表示在文本中编辑
$ sed -e 's/#.*//' thegeekstuff.txt
五,cut
Cut命令用于展现文本中的特定列。
Syntax: cut [-bn] [file] 或 cut [-c] [file] 或 cut [-df] [file]
- -b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
- -c :以字符为单位进行分割。
- -d :自定义分隔符,默认为制表符。
- -f :与-d一起使用,指定显示哪个区域。
-n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的范围之内,该字符将被写出;否则,该字符将被排除。
从冒号(:)分隔文件中展现第一个字段.
$ cut -d: -f 1 names.txt
从冒号(:)分隔文件中展现第一到三个字段.
$ cut -d: -f 1,3 names.txt
展现每行的前8个字符
$ cut -c 1-8 names.txt
展现可用内存
free | tr -s ‘ ‘ | sed ‘/^Mem/!d’ | cut -d” “ -f2
六,awk
Syntax:awk ‘/search pattern1/ {Actions}
/search pattern2/ {Actions}’ file
- search pattern is a regular expression.
- Actions – statement(s) to be performed.
- several patterns and actions are possible in Awk.
- file – Input file.
- Single quotes around program is to avoid shell not to interpret any of its special characters