UNIX 按选项卡剪切命令
UNIX cut command by tab
问题:
给定一个包含多列(tsv 格式)的制表符分隔文件,打印前三个字段。
输入
使用 ASCII 文本的制表符分隔文件
输出:
输入打印第一个三个字段中的每一行包含 N 行。
我的代码:
while read line;
do
echo $line | cut -f-3
done
我的输出:
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 -f1-3 data.tsv
如果您只是在寻找解决方案,请使用以下方法:
cut -d$'\t' -f1-3
如果您对此处的标志感到困惑:
-d
= 分隔符
$'\t'
= 寻找制表符转义符
-f1-3
= 字段编号 1 到 3。又名只打印前 3 个单词。
有关更多信息,请查看此处:Cut Command Linux
问题: 给定一个包含多列(tsv 格式)的制表符分隔文件,打印前三个字段。
输入 使用 ASCII 文本的制表符分隔文件
输出: 输入打印第一个三个字段中的每一行包含 N 行。
我的代码:
while read line;
do
echo $line | cut -f-3
done
我的输出:
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 -f1-3 data.tsv
如果您只是在寻找解决方案,请使用以下方法:
cut -d$'\t' -f1-3
如果您对此处的标志感到困惑:
-d
= 分隔符$'\t'
= 寻找制表符转义符-f1-3
= 字段编号 1 到 3。又名只打印前 3 个单词。
有关更多信息,请查看此处:Cut Command Linux