Linux下先用find命令
查找,然后用grep命令来
匹配不以xxx结尾的
文件,案例如下:查找/etc/zhidao 目录下不以baidu结尾的文件find /etc/zhidao -type f |grep -v 'baidu$' /etc/group #用find命令查找/etc/zhidao下所有普通文件,然后管道符传递给grep执行,匹配正则表达式以baidu结束行,加上-v参数即为查找不包含匹配项的行。grep命令常用参数和正则表达式:-I:忽略大小写-c:打印匹配的行数-l:从多个文件中查找包含匹配项-v:查找不包含匹配项的行-n:打印包含匹配项的行和行标RE(正则表达式)\忽略正则表达式中特殊字符的原有含义^匹配正则表达式的开始行$匹配正则表达式的结束行\<从匹配正则表达式的行开始\>到匹配正则表达式的行结束[]单个字符;如[A]即A符合要求[-]范围;如[A-Z]即A,B,C一直到Z都符合要求.所有的单个字符*所有字符,长度可以为0.[root@pn ~]# cat test.txt
afaf
sdfasdfg
asdfas
asdf
sdfsdf
[root@pn ~]# cat test.txt | grep -o .$
f
g
s
f
f
[root@pn ~]# cat test.txt | tail -1 | grep -o .$
f
windows创建的文件是 \n\r结束的, 而linux,mac这种unix类系统是\n结束的。
所以unix的文本到windows会出现换行丢失(ultraedit这种软件可以正确识别); 而反过来就会出现^M的符号了
补充:
windows里用ultraedit,选16进制模式(hex mode)可以看到。linux里面,我就不熟悉了。
评论列表(0条)