![レイアウトタブ/スペース[閉じる]](https://linux33.com/image/142779/%E3%83%AC%E3%82%A4%E3%82%A2%E3%82%A6%E3%83%88%E3%82%BF%E3%83%96%2F%E3%82%B9%E3%83%9A%E3%83%BC%E3%82%B9%5B%E9%96%89%E3%81%98%E3%82%8B%5D.png)
私はこの記事を読みました。https://unix.stackexchange.com/a/7718/256195、タブ/スペースが含まれていない場合にのみ可能ですvar
が、私の場合は、以下の例のようにスペースが含まれています。
"this is a test" this_is_a_solid_line_that_doesnot_contain_tab_or_spaces
このコマンドはcolumn
..etcも区別しますが、andthis
is
でのみ動作したいと思います。"this is a test"
this_is_a_solid_line_that_doesnot_contain_tab_or_spaces
目的:ファイルに上記のような複数の行があり、正しくソートされていません。
答え1
入力に|
文字がないと仮定すると、引用符に含まれていない一連のスペース|
(または入力にない他の文字)を変換して次にパイプすることができますcolumn -ts'|'
。
<input.txt perl -lpe 's/(".*?")|\s+/$1||"|"/ge' | column -ts'|'