次のようなTSVファイルがあります。
abc_1
def_2
ghi_3
jkl_4
mno_5
それを次のように分割したいと思います。
abc
def
ghi
jkl
mno
そして
1
2
3
4
5
どうすれば入手できますか?
文字位置で分割:
最初の出力(ここでは、出力はfirst_outputというファイルにリダイレクトされます)を取得するには、次のコマンドを使用します。
cut -c1-3 your_input_file >first_output
2番目の出力を取得するには、以下を使用します。
cut -c5- your_input_file >second_output
ここで、オプション-c
は、「指定された文字のみを選択する」ことを意味します。オプション-c
に続くリストは、文字の位置または範囲を指定します(1
は行の最初の文字です)。
区切り文字に従って分割:
cut -f1 -d_ your_input_file >first_output
cut -f2 -d_ your_input_file >second_output
ここで、オプション-d
は区切り文字(この場合は_
)を示し、オプション-f
は選択するフィールド位置を示します。
awk
の場合:
awk -F_ '{ print $1 > "file_1"; print $2 > "file_2" }' source_file