Bash Shell中常用命令之cut,grep(一)

科研日常中会在Linux系统下使用到很多shell 命令,有很多十分有用的命令。当要实现一个功能时,可能需要非常简单的几个单词和字母即可,在此将自己常用的命令做一总结,方便查阅。

1. 选取命令cut

cut主要用来对同一行里的数据进行分解,对字符串切割。

cut -d '分割字符' -f fields   #用于分割字符;
cut -c 字符范围                 #用于分割排列整齐的信息;

举例:

$ a=123:456:789
$ echo $a | cut -d ':' -f 2
456
$ b=`echo $a | cut -d ':' -f 2` ; echo $b
456
$ c=` echo $a  | cut -b 5-7` ; echo $c
456
$ echo $a | cut -c 5-7
456

2. 查找命令grep

grep主要用来查找,若有需要的信息,则会查找出来;

grep [-acinv] [--color=auto] '查找字符串' filename
-a: 将binary文件以text文件的方式进行查找数据;
-c: 计算找到‘查找字符串‘的次数;
-i: 忽略大小写;
-n: 输出行号;
-v: 反向选择,即显示出没有查找字符串的行;
--color=auto: 将找到的关键字用颜色显示;

举例:
文件data.txt内容如下:
001 liming 1995 aaa
002 lily 1988 aaa
003 danilise 1999 bbb
004 david 2003 bbb

$ grep 'aaa' data.txt #输出查找到的内容;
001 liming 1995 aaa
002 lily 1988 aaa
$ grep -c 'aaa' data.txt #输出查找到的个数;
2
$ grep -n 'aaa' data.txt #加上行号;
1:001 liming 1995 aaa
2:002 lily 1988 aaa
$ cat data.txt | grep 'bbb'
003 danilise 1999 bbb
004 david 2003 bbb

cut与grep联合使用

举例:

$ cat data.txt | grep 'bbb' | cut -d ' ' -f2
danilise
david

猜你喜欢

转载自blog.csdn.net/qq_34538534/article/details/84888705