从文本文件OS X中提取特定列

时间:2018-04-17 15:43:44

标签: macos awk terminal

我需要经常并反复提取特定的第11,12和12列。 13使用OS X Terminal命令从制表符分隔的文本文件创建新文件。

我尝试过这个awk命令的变体:

    ‘BEGIN {FS=“\t”; OFS = “,”; print $11,$12,$13}’ input.txt > output.txt 

我在哪里错了,或者我错过了什么?

终端似乎“超时”,我必须终止。

2 个答案:

答案 0 :(得分:1)

你会很高兴地知道,有一个特定的命令。

参见man cutman tr

cut -f 11,12,13 input.txt | tr "\t" "," > output.txt

答案 1 :(得分:1)

不要将所有代码放在BEGIN部分并使用常规引号('"),而不是“智能引号”() :

awk 'BEGIN {FS="\t"; OFS=","} {print $11,$12,$13}' input.txt > output.txt