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

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

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

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

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

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

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

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

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

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

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

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

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

どうでしょう。

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

処理が終わった後には、

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

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする