GNU/Linux >> Linux の 問題 >  >> Linux

bashを使用して、ファイルの各行の先頭にある空白を削除します

perl -i をインプレース置換に使用できます。

perl -p -e 's/^ *//' file 

パターンが一致する場合、行頭の前の空白を削除します。次のコマンドを使用します。たとえば、foo.in には次のようなパターンがあります

      This is a test                                
                    Lolll
                       blaahhh
      This is a testtt

次のコマンドを発行した後

sed -e '/This/s/ *//' < foo.in > foo.out

foo.out は

This is a test
             Lolll
                blaahhh
This is a testtt

sed -i 's/ //g' your_file ファイルをその場で変更して、それを行います。

1 行の先頭にある空白のみを削除するには、sed -i 's/^ *//' your_file を使用します。

最初の式では、すべてのスペースを空に置き換えます。2 番目の式では、最初の ^ を使用して置き換えます キーワード


tr (すべての空白を削除):

$ tr -d ' ' <input.txt >output.txt
$ mv output.txt input.txt

sed (先頭の空白を削除)

$ sed -i 's/^ *//' input.txt

Linux
  1. SedでBash文字列変数への参照を使用しますか?

  2. シェルコマンドを使用してASCIIファイルの最初のN行を削除するにはどうすればよいですか?

  3. Bashを使用してファイルの最後から2番目の行を読み取る方法は?

  1. シェルスクリプトを使用して各行のタブ数を数える方法は?

  2. Linux で Bash を使用してすべての出力をファイルにリダイレクトしますか?

  3. bashスクリプトは、ファイルの最初の行にテキストを追加します.

  1. Sedを使用してテキストファイルから複数のランダム行を削除する方法は?

  2. テキスト ファイルの各行で n 番目に出現する文字列を置き換えます

  3. scp を使用してファイルの .txt ファイル リストを転送する