- ベストアンサー
シェルスクリプトにてファイルの結合
お世話になります。 ある3つのファイルfile1 file2 file3 の内容が file1が 111 222 333 file2が aaa ddd bbb eee ccc fff file3が xxx yyy zzz という内容を file4に 111 aaa ddd xxx 222 bbb eee yyy 333 ccc fff zzz という具合に横に結合させて出力させたいのですが どうしていいか分かりません。 sedとかawkを使えばいけそうなんですが 分かる方いらっしゃいませんか??? 宜しくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ではawkで・・・ BEGIN { while (1) { for (i = 1; i < ARGC; ++i) { if (getline < ARGV[i] <= 0) { exit; } printf "%s ", $0 } print "" } } を作成しておいて awk -f [上記ファイル] file1 file2 file3 ※awk -f [上記ファイル] file1 file1 file1 のように同じファイルを指定すると、ちゃんと動きません(苦笑)
その他の回答 (2)
- nightowl
- ベストアンサー率44% (490/1101)
こんにちは。paste が使えるなら paste -d ' ' file1 file2 file3 # ' ' の中はスペース で。「-d ' '」がなければタブで連結します(デフォルト)。
お礼
アリガトウございます。 pasteコマンドって初めて知りました。。。 かなり楽チンにできそうですね。 ご協力感謝します。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
#perlで open F1,"file1"; open F2,"file2"; open F3,"file3"; until(eof(F1)){ chomp($f1=<F1>); chomp($f2=<F2>); chomp($f3=<F3>); printf "%s %s %s\n",$f1,$f2,$f3; }
お礼
アリガトウございます。 今回はシェルスクリプトで作成させていただきました。 ご協力感謝です。
お礼
アリガトウございます。xcrOSgS2wY様の スクリプトを参考にさせていただきました。 助かりました