入力ファイルの最初の列に、スペースの数が異なる(またはスペースがない)位置があります
16504 16516
1650811 16520
1651 16524
16516111 16528
165204 16532
2番目の列をそのままにして、最初の列にスペースがまったくない出力ファイルを取得する必要があります。
16504 16516
16508 16520
16512 16524
16516 16528
16520 16532
これが単なる配置の問題であり、データを列に並べたい場合:
$ column -t somefile
16504 16516
1650811 16520
1651 16524
16516111 16528
165204 16532
-t
column
に切り替えると、ソースデータからテーブルが自動的に作成されます。
-t, --table
Determine the number of columns the input contains and create a
table. Columns are delimited with whitespace, by default,
or with the characters supplied using the separator. Table output
is useful for pretty-printing.
あなたはおそらく次のようなものを求めています:
sed "s/^ *//" < your_file
これにより、先頭のスペースがすべて削除されます(空の文字列に置き換えられます)。列間に可変数のスペースもある場合は、次のように拡張できます。
sed "s/^ *//;s/ */ /g" < your_file
これは(先頭のスペースを削除した後)、1つ以上のスペースの出現を固定文字列(この場合は4つのスペース)に置き換えます。タブ文字が使用されている場合をカバーするために、マッチングパターンでプレーンスペースの代わりに\s
を使用することもできます。
あなたはこれを試すことができます:
awk '$1=$1' file
最初の列の先頭のスペースをすべて削除します。