列間のスペースをタブに変換[閉じる]

列間のスペースをタブに変換[閉じる]

数千行のファイルがあり、列間のすべてのスペースをタブに変換する必要があります。ファイルはPythonスクリプト内で読み取られ、列がタブで区切られていないと失敗します。

答え1

sedGNU または互換バージョンを使用してファイル内の複数のスペースをすべてタブ文字に置き換えるには、次のようにします。

sed 's/   */\t/g' file > newfile

すべてのスペースまたは単一のスペース(フィールドにスペースがあるとは限りません)を変更するには、次のコマンドを使用します。

sed 's/ /\t/g' file > newfile

また、ファイルを所定の場所に編集して新しいファイルを作成したくない場合は、次のようにします-i

sed -i 's/   */\t/g' file 

答え2

Raku(旧Perl6)を使う

~$ raku -pe 's:g/ \s+ /\t/;' file.txt > newfile.txt

HTH。

https://raku.org/

関連情報