选取命令–cut,grep

文本处理的过程中,常常需要包含某些字符的行或列的提取额,这里面常用的两个命令cut和grep

一、cut

cut 不就是『切』吗?没错啦!这个指令可以将一段讯息的某一段给他『切』出来~ 处理的讯息是以『行』为单位喔!底下我们就来谈一谈:

范例一:将 PATH 变量取出,我要找出第五个路径。

范例二:将 export 输出的讯息,取得第 12 字符以后的所有字符串

范例三:用 last 将显示的登入者的信息中,仅留下用户大名

也可以这样;

但是如果分隔符是tab的话,就只有用awk罗,cut就无能为力了
cut 主要的用途在于将『同一行里面的数据进行分解!』最常使用在分析一些数据或文字数据的时候! 这是因为有时候我们会以某些字符当作分割的参数,然后来将数据加以切割,以取得我们所需要的数据。 鸟哥也很常使用这个功能呢!尤其是在分析 log 档案的时候!不过,cut 在处理多空格相连的数据时,可能会比较吃力一点。

二、grep

刚刚的 cut 是将一行讯息当中,取出某部分我们想要的,而 grep 则是分析一行讯息, 若当中有我们所需要的信息,就将该行拿出来~简单的语法是这样的:

范例一:将 last 当中,有出现 root 的那一行就取出来;

范例二:与范例一相反,只要没有 root 的就取出!

范例三:在 last 的输出讯息中,只要有 root 就取出,并且仅取第一栏

范例四:取出 /etc/man.config 内含 MANPATH 的那几行

范例五:取出包含foo的前几行

grep 是个很棒的指令喔!他支持的语法实在是太多了~用在正规表示法里头, 能够处理的数据实在是多的很~不过,我们这里先不谈正规表示法~下一章再来说明~ 您先了解一下, grep 可以解析一行文字,取得关键词,若该行有存在关键词,就会整行列出来!

参考资料:
鸟哥linux私房菜cut linux.vbird.org/linux_basic/0320bash.php#cut
http://blog.csdn.net/dztaopao/article/details/9241559
http://liam0205.me/2016/11/07/how-to-remove-a-column-from-a-plain-text-file-on-Linux/

发表评论

电子邮件地址不会被公开。 必填项已用*标注