【测试题三剑客】过滤,替换,取列操作 grep sed awk

查找文件中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<

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 

你可能感兴趣的:(【测试题三剑客】过滤,替换,取列操作 grep sed awk)