Bash Shell(文本处理)

问题描述 投票:-5回答:1

给定带有多个列(tsv格式)的制表符分隔文件,打印前三个字段。

输入格式

一个制表符分隔的文件,仅包含ASCII文本行。

约束

(N是输入文件中的文本行数,C是文件中数据的列数)

输出格式

输出应包含N行。对于输入中的每一行,打印前三个字段。

样本输入

1   New York, New York[10]  8,244,910   1   New York-Northern New Jersey-Long Island, NY-NJ-PA MSA  19,015,900  1   New York-Newark-Bridgeport, NY-NJ-CT-PA CSA 22,214,083
2   Los Angeles, California 3,819,702   2   Los Angeles-Long Beach-Santa Ana, CA MSA    12,944,801  2   Los Angeles-Long Beach-Riverside, CA CSA    18,081,569
3   Chicago, Illinois   2,707,120   3   Chicago-Joliet-Naperville, IL-IN-WI MSA 9,504,753   3   Chicago-Naperville-Michigan City, IL-IN-WI CSA  9,729,825
4   Houston, Texas  2,145,146   4   Dallas-Fort Worth-Arlington, TX MSA 6,526,548   4   Washington-Baltimore-Northern Virginia, DC-MD-VA-WV CSA 8,718,083
5   Philadelphia, Pennsylvania[11]  1,536,471   5   Houston-Sugar Land-Baytown, TX MSA  6,086,538   5   Boston-Worcester-Manchester, MA-RI-NH CSA   7,601,061

我的回答是 -

cut -f-2

这是错误的。 Plz帮我正确的...

bash shell
1个回答
0
投票

字段编号从1开始,而不是0。

cut -f-3

虽然输入两个额外的字符会更清楚

cut -f 1-3
© www.soinside.com 2019 - 2024. All rights reserved.