11.6 本章习题

  1. 先用 find 去找出文件;
  2. 用 xargs 将这些文件每次丢 10 个给 grep 来作为参数处理;
  3. grep 实际开始搜寻文件内容。 所以整个作法就会变成这样:
[[email protected] ~]$ find / -type f 2> /dev/null | xargs -n 10 grep '\*'
  1. 从输出的结果来看,数据量实在非常庞大!那如果我只是想要知道文件名而已呢?你可以通过 grep 的功能来找到如下的参数!
    [[email protected] ~]$ find / -type f 2> /dev/null | xargs -n 10 grep -l '\*'
    
  2. 首先,我们依据本章内的 ifconfig, sed 与 awk 来取得我们的 IP ,指令为:
    [[email protected] ~]$ ifconfig eth0 | grep 'inet ' | sed 's/^.*inet //g'| sed 's/ *netmask.*$//g'
    
  3. 再来,我们可以将此指令利用 alias 指定为 myip 喔!如下所示:
    [[email protected] ~]$ alias myip="ifconfig eth0 | grep 'inet ' | sed 's/^.*inet //g'| \
    >   sed 's/ *netmask.*$//g'
    
  4. 最终,我们可以通过变量设置来处理 MYIP 喔!
    [[email protected] ~]$ MYIP=$( myip )
    
  5. 如果每次登陆都要生效,可以将 alias 与 MYIP 的设置那两行,写入你的 ~/.bashrc 即可!

简答题部分:

  • 我想要知道,在 /etc 下面,只要含有 XYZ 三个字符的任何一个字符的那一行就列出来,要怎样进行?grep [XYZ] /etc/*
  • 将 /etc/kdump.conf 内容取出后,(1)去除开头为 # 的行 (2)去除空白行 (3)取出开头为英文字母的那几行 (4)最终统计总行数该如何进行?grep -v '^#' /etc/kdump.conf | grep -v '^$' | grep '^[[:alpha:]]' | wc -l