如何在 TSV 文件中分割字符串

如何在 TSV 文件中分割字符串

我有这样的 TSV 文件:

abc_1
def_2
ghi_3
jkl_4
mno_5

我想将其拆分为:

abc 
def 
ghi 
jkl
mno

1
2
3
4
5

我怎样才能得到它?

答案1

awk

awk -F_ '{ print $1 > "file_1"; print $2 > "file_2" }' source_file

答案2

方法 1

按字符位置拆分:

为了获得第一个输出(此处,输出被重定向到名为第一个输出) 使用:

cut -c1-3 your_input_file >first_output

要获得第二个输出,请使用:

cut -c5- your_input_file >second_output

此处,选项的-c意思是“仅选择指定的字符”。选项后面的列表-c指定字符位置或范围(其中1是行中的第一个字符)。

方法 2

根据分隔符拆分:

cut -f1 -d_ your_input_file >first_output
cut -f2 -d_ your_input_file >second_output

这里,选项-d表示分隔符(_在我们的例子中),选项-f表示要选择的字段位置。

相关内容