繁体   English   中英

Bash脚本-带分隔符的AWK?

[英]Bash Scripting - AWK with Delimiter?

我在文本文件中有一个标题,如下所示:

First-Name:Last-Name:City:Home-Phone:Cell-Phone

我需要做的是显示每个条目Last-NameCell-Phone号码。

我是bash脚本的新手,而且我不确定如何使用它。 有人告诉我awk可能有用,但是环顾四周后,我仍然不太了解如何使用它。

-F指定字段分隔符:

awk -F":" '{print $2, $5}'

我发现csvkit是处理此类文件的有用工具。 它比低级的unix实用程序直观得多,尽管功能不那么强大。

取以下文件:

First-Name:Last-Name:City:Home-Phone:Cell-Phone
Alice:Ashbury:Boston:111-111-1111:444-444-4444
Bob:Brown:Boston:222-222-2222:555-555-5555
Carol:Chaplin:Chicago:333-333-3333:666-666-6666

您可以使用csvcut提取第二列和第五列:

csvcut test.csv -d ':' -c 2,5

给出以下输出(包括标题行):

Last-Name,Cell-Phone
Ashbury,444-444-4444
Brown,555-555-5555
Chaplin,666-666-6666

将各种csvkit命令组合在一起可以使您快速浏览数据。 例如,以下内容将过滤以BostonCity所有行:

csvformat test.csv -d ':' | csvgrep -m Boston -c 3 | csvcut -c 2,5 | csvlook

csvlook为您提供漂亮的输出:

|------------+---------------|
|  Last-Name | Cell-Phone    |
|------------+---------------|
|  Ashbury   | 444-444-4444  |
|  Brown     | 555-555-5555  |
|------------+---------------|

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM