シェルで区切り文字を改行に変更する方法

linux

シェルで区切り文字を変更する方法をご紹介します。

 

環境変数である「IFS」を使用します。

 

ここでは、/etc/hostsを1行ごとに表示したい場合は考えます。

まずは/etc/hostsを確認します。

 

以下のようにfor文に渡す場合、デフォルトでは以下のようになります。

行単位ではなく、区切り文字は空白スペースになっていますね。

 

これを行単位の処理に変更する場合、IFSを変更する必要があります。

まずは現時点の設定を保存しておきます。

 

続いて、以下のように変更します。

これで改行をあらわすことができます。

赤文字の箇所が入力した文字です。最初のシングルクォーテーションのあとに改行し、開業直後にもう一度シングルクォーテーションを入力します。

 

 

では、再度確認してみましょう。

 

どうでしょう。

行単位で表示されていることがわかります。

 

処理が終わった後には、

として、元に戻しておくことをオススメします。(特にシェルでの場合)

 

 

Secured By miniOrange
タイトルとURLをコピーしました