拡張コマンドが機能しない

拡張コマンドが機能しない

拡張コマンドを使用して、すべてのタブ文字を空白に変換しようとしています。

注文する: 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

関連情報