查找文件中1到6行之间,同时将"aaaa"替换为"AAAA","ddddd"替换"DDDDD"
用-e参数来执行多条命令,n要放到参数e的前面
变形:y命令
11找出/alex目录下以.txt结尾,修改实际是180天之前的,大于100k并小于10M的文件(3分)
find /tmp/ -type f -size +100k -mtime +180 -name '*.txt'| find -size -1M
12找出/oldboy目录下以.log结尾的文件并把文件中的oldboy替换为oldgirl(至少2种方法) (5分)
find /oldboy/ -type f -name '*.log'|sed 's#oldboy#oldgirl#g'
grep 'oldboy' `find /tmp/ -type f -name '*.txt'`|sed 's#oldboy#oldgirl#g'
13找出/oldboy下面以.conf结尾的文件打包备份到/tmp/下面(2种方法)(5分)
tar /tmp/a.tar.gz `find / -type f -name '*.conf'`
14筛选出/etc/ssh/sshd.config文件中不是以#和D开头的行(3分)
egrep '^#|^D' /etc/ssh/sshd.config
15查找出/etc/目录下以.txt结尾的,修改时间在最近三天的,内容中带有“PORT”的文件(3分)
grep -l 'oldboy' `find /etc/ /tmp/ -type f -name '*.txt'`
16筛选出file文件中带有oldboy或oldgirl的行(3分)
sed -rn '/oldboy|oldgirl/p' file
17将以下字符追加到/oldboy/test.txt文件中(写出命令) (3分)
cat >>/oldboy/test.txt<<EOF
金 211324198705244720
万 500224197105168312
任 1231231231oldboy
任 3oldboy
任 lidao97303136098
18筛选出/oldboy/test.txt文件中正确的身份证号(3分)
egrep '[0-9X]{18}' /oldboy/test.txt
19打印出/oldboy/test.txt文件中第2行到第4行(3分)
sed -n '2,4p' /oldboy/test.txt
20使用sed找出/oldboy/test.txt文件中包含oldboy的行(3分)
sed -n '/oldboy/p' oldboy/test.txt
sed '/oldboy/d' oldboy/test.txt \\删除包含oldboy的行
21删除/oldboy/test.txt文件中的空行(3分)
sed '/^$/d' test.txt
grep -v '^$' file.txt \\过滤掉空行
有一文件file.txt的内容为:
my qq num is 49000448.$
not 4900000448.
my god ,i am not oldbey,but clsn!$
注:$符号为文件内容
23筛选出file.txt文件中所有连续的数字(3分)
[✡root@oldboy /tmp]# egrep '[0-9]+' 1
my qq num is 49000448.$
not 4900000448.
24筛选出file.txt文件中所有空行,并显示行号(3分)
grep -n '^$' file.txt
sed -n 's#^$##gp' file.txt \\不显示行号
sed -n '/^$/=' file.txt
25筛选出file.txt文件中以m开头并且以$结尾的行(3分)
egrep '(^.*m.*$)' file.txt
egrep '^m.*$' file.txt
egrep '^m|\$$' file.txt
sed -nr '/^m|\$$/p' file.txt
26使用sed将file.txt文件中第3行的448替换成558(3分)
sed -n '3s#448#558#gp' file.txt
27使用sed将file.txt文件中所有$删除(3分)
sed 's#\$##g' file.txt
sed 's#[$]##g' file.txt
sed '/\$/d' file.txt
网友评论