次のようなテキストファイルがあります。
入力ファイル
1|abc
2|def
3|ghi
n|etc...
これをパイプ区切り文字で2つのファイルに分割する必要があります。したがって、これは期待される出力です。
File_1:
1
2
3
n
File_2:
abc
def
ghi
etc
入力ファイルの行数がわかりません。kshまたはbashでこれをどのように達成しますか?
ありがとうございました。
awkはこのタスクに適しています:
awk -F\| '{print $1 > "File_1"; print $2 > "File_2"}' input_file
これにより、「|」でテキストが分割されます 各列をそれぞれのファイルに出力します。
3つ以上のフィールドがある場合は、代わりにループを使用することをお勧めします。
awk -F\| '{for(i=1;i<=NF;++i) print $i > "File_" i}' input_file
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加