拡張コマンドを使用して、すべてのタブ文字を空白に変換しようとしています。
注文する: cat department.txt
出力:
1 QA
2 DEV
3 OPS
拡張Department.txtを実行すると、出力は変わりません。
私のファイルにタブ文字が含まれていることを確認するためにod -cを使用しました。拡張機能が機能しない理由を説明できる人はいますか?
更新:以下の説明でMuluが指摘したように、拡張コマンドの誤った予測があったため、タブ文字が単一のスペースに変換されると予想しました。 Expand コマンドは、タブ文字を対応するスペースに変換します。
答え1
タブを単一のスペースに変換するには、まだを使用してexpand
タブストップをデフォルト値8の代わりに1に設定できます。
$ expand foo
1 QA
2 DEV
3 OPS
$ expand -t1 foo
1 QA
2 DEV
3 OPS
ただし、これにより、連続したタブが別々のスペースに展開され続けます。
$ vim foo
$ expand foo
1 QA
2 DEV
3 OPS
$ expand -t1 foo
1 QA
2 DEV
3 OPS
必要な動作に応じて、以下を使用できますtr
。
$ tr -s '\t' ' ' < foo
1 QA
2 DEV
3 OPS