吆嘻!
分类: LINUX
2011-05-24 15:33:38
正则表达式
文本文件的操作命令
cat、more 、less 、hard、 tail
正则表达式的命令
. 单一的字符 .* 任何一个字符
[abc] 当前位置有a、或b、或c [^abc] 除了abc 以外的任意字符
^a a开头的行 a& 以a结束的行
\< 以什么开头 \> 以什么结尾 ,表示的是单词
a* 任意多个a a? 一个或二个a a+ 相当于前面的合并
a\{n\} a 重复了n次
对文本的操作
grep less vim diff cut sort wc uniq
grep -R -l -v -A(数字) -B(数字)
grep -R centos /etc 依次找出etc 下有带有 centos 的文件
grep -R -l centos /etc 只显示文件名
grep -R -l -v centos /etc 反向选择
grep -A1 -B4 centos /etc/passwd
cut -d 分隔符 -f列数1-3
cut -d: -f1 /etc/passwd 显示以:分割的第一段 /etc/passwd
cut -d: -f3 /etc/passwd |sort 显示第三段并sort 排序
cut -d: -f3 /etc/passwd |sort -n 显示第三段并sort 排序,按照数字大小
sort -t 分隔符 -k 列 -n 排序
sort -t: -k 3 -n /etc/passwd 按照:分割,第三列排序
wc -l -w -c
wc /etc/passwd统计
35 54 1611
54 个单词 1611个字符 35 行
运用命令组合来完成复杂的任务
运用命令组合来完成复杂的任务
1、统计一个目录里面有多少的文件夹和文件、连接等。
ls | wc -l 查看有多少个文件夹包括文件
[root@localhost etc]# ls -l |grep '^d' |wc -l 查看目录并wc 多少个目录
[root@localhost etc]# ls -l |grep '^-' |wc -l > test 查看多少个文件 并重定向
2、取出配置文件中的注释并保存为新文件
[root@localhost etc]# grep '^#' -v /root/inittab
[root@localhost etc]# grep '^#' -v /root/inittab > test.confs
[root@localhost samba]# grep -v '^;' smb.conf |grep -v '^#' 以#号;号开头的文件过滤掉
[root@localhost samba]# grep -v '^#' smb.conf |grep -v '^;'
[root@localhost samba]# cat smb.conf |grep -v '^#' |grep -v '^;'
[root@localhost samba]# grep -v '^#' smb.conf |grep -v '^;' |grep -v '^$' 以#;开头的过滤掉,并把空格过滤掉
3、查找文件并删除
find 不支持正则表达式
locate 它支持,用它前使用updatedb更新数据库 还需要加-r 参数
-r 让它使用正则表达式
find -name ’a*d‘ -ok rm {} \; 找出以a开头,以d结尾的文件 并rm,-ok 提示出来
find -name ‘a *d’ -exec rm {这没空格} 这里有个空格\;