2つのテキストファイルがあります。最初の内容は次のとおりです。
Languages
Recursively enumerable
Regular
そして二番目の内容はこうです。
Minimal automaton
Turing machine
Finite
列ごとに1つのファイルにマージしたいです。だから試してみましたが、paste 1 2
結果は次のとおりです。
Languages Minimal automaton
Recursively enumerable Turing machine
Regular Finite
しかし、列をうまく整列したいです。
Languages Minimal automaton
Recursively enumerable Turing machine
Regular Finite
手動で行わずにこれを達成できるかどうか疑問に思います。
次に追加:
いくつかのソートエラーを除いて、ブルースのアプローチがほとんど効果があった別の例がありますが、その理由は何ですか?
$ cat 1
Chomsky hierarchy
Type-0
—
$ cat 2
Grammars
Unrestricted
$ paste 1 2 | pr -t -e20
Chomsky hierarchy Grammars
Type-0 Unrestricted
— (no common name)
ベストアンサー1
あなたはただ必要ですcolumn
コマンドを実行し、タブを使用して列を区切るように指示します。
paste file1 file2 | column -s $'\t' -t
「空のセル」の議論を解決するには、次の-n
オプションのみが必要ですcolumn
。
$ paste <(echo foo; echo; echo barbarbar) <(seq 3) | column -s $'\t' -t
foo 1
2
barbarbar 3
$ paste <(echo foo; echo; echo barbarbar) <(seq 3) | column -s $'\t' -tn
foo 1
2
barbarbar 3
私のコラムのマニュアルページには-n
「Debian GNU/Linux Extensions」と記載されています。私のFedoraシステムには空のデバイスの問題はありません。 BSDで発生したようで、マニュアルページに「バージョン2.23で-sオプションをnon-greedyに変更しました」と表示されています。