我在文本文件中有一个标题,如下所示:
First-Name:Last-Name:City:Home-Phone:Cell-Phone
我需要做的是显示每个条目的Last-Name
和Cell-Phone
个数字。
我是bash脚本的新手,我不确定我可以用它做什么。我被告知awk
可能有用,但在环顾四周后,我仍然不太明白如何使用它。
答案 0 :(得分:8)
使用-F
指定字段分隔符:
awk -F":" '{print $2, $5}'
答案 1 :(得分:2)
我发现this process是处理这类文件的有用工具。它比低级别的unix实用程序更直观,但可以说功能不那么强大。
采取以下文件:
csvcut
您可以使用csvcut test.csv -d ':' -c 2,5
提取第二和第五列:
Last-Name,Cell-Phone
Ashbury,444-444-4444
Brown,555-555-5555
Chaplin,666-666-6666
其中给出了以下输出(包括标题行):
Boston
将各种csvkit命令组合在一起可以让您快速浏览数据。例如,以下内容将过滤为City
作为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 |
|------------+---------------|
为您提供精美的输出:
{{1}}