如何根据列值提取表的内容?

时间:2014-12-03 20:41:48

标签: bash unix

我有一张有价值观的表格。我想使用UNIX来取代具有特定列值的行。下面是我的表。

filenumber appln date msg

12 , ADRJH , 2014-12-02 , SUCCESS
12 , AHW , 2014-12-03 , SUCCESS
92 , AIWEFEWMS , 2014-12-02 , SUCCESS
66 , AIWEMS , 2014-12-03 , SUCCESS
3 , CCWEA , 2014-12-02 , SUCCESS
3 , CCWEA , 2014-12-03 , SUCCESS
85 , CCWEDB , 2014-12-02 , SUCCESS
85 , CCYHDB , 2014-12-03 , SUCCESS
5 , GENESTUHTYS , 2014-12-02 , SUCCESS
3 , GTTGXS , 2014-12-02 , SUCCESS
3 , GXUIKS , 2014-12-03 , SUCCESS
1 , MDUJM , 2014-12-02 , SUCCESS
1 , MDYUJM , 2014-12-03 , SUCCESS
5 , medsUYJYapecc , 2014-12-02 , SUCCESS
4 , medsapeYUcc , 2014-12-03 , SUCCESS
262 , MYUJIF , 2014-12-02 , SUCCESS
262 , MIUJF , 2014-12-03 , SUCCESS
805 , PYUI , 2014-12-02 , SUCCESS
423 , PI_TYCHARGEBACK , 2014-12-02 , SUCCESS
434 , PI_CHYUJHYUARGEBACK , 2014-12-03 , SUCCESS
4 , PomnituYUJre , 2014-12-02 , SUCCESS

我需要日期为2014-12-03的行。可以使用哪个unix命令?

2 个答案:

答案 0 :(得分:2)

试试这个:

grep '\b2014-12-03\b' file

awk '$4=="2014-12-03"{print}' file

awk '$4=="2014-12-03"' file

答案 1 :(得分:0)

您也可以使用

  

grep'/< 2014-12-03 />'文件

“\<”和“\>”将触发grep以完全搜索固定模式作为“单词”而不是作为“单词”的一部分的模式

此外,如果您发现使用标记“\<”和“\>”你可以尝试更简单的方法有点困难

grep -F '2014-12-03' file

-F参数也将搜索固定字符串

如果你想让grep突出显示在终端

中的行中找到的固定字符串
  

grep'/< 2014-12-03 />' --color文件

grep -F '2014-12-03' --color file