#navi(../)
* sedコマンドを利用したスペースの文字列操作を行う [#o7ad8342]
文字列操作として便利なsedコマンド。~
以下にsedコマンドを利用し、スペースを操作する例を記します。

#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
#contents

* 関連記事 [#r1949b63]
-[[sedを使って改行のみ、スペースのみの行を削除する>逆引きUNIXコマンド/sedを使って改行のみ、スペースのみの行を削除する]]
-[[指定した範囲の行を取得する方法>逆引きUNIXコマンド/指定した範囲の行を取得する方法]]
-[[sedで指定した行を削除する方法>逆引きUNIXコマンド/sedで指定した行を削除する方法]]
-[[sedコマンドで大文字小文字を区別せずに置換する方法>逆引きUNIXコマンド/sedコマンドで大文字小文字を区別せずに置換する方法]]
-[[sedでディレクトリ文字列が格納されている環境変数等を展開して置換したい>逆引きUNIXコマンド/sedでディレクトリ文字列が格納されている変数を展開して置換する]]
-[[sedでスラッシュを置換する方法>逆引きUNIXコマンド/sedでスラッシュを置換する方法]]

* sedコマンドで連続するスペースを1つのスペースにする [#c21f07d9]
 sed -e 's/  */ /g' ファイル名
または
 cat ファイル名 | sed -e 's/  */ /g'
&color(red){s/の後ろの半角スペースは2つです。};

- 実行結果
 sakura@ubuntu-ppc:~$ cat data.txt 
 HOKKAIDO AOMORI    AKITA
 IWATE YAMAGATA   MIYAGI
 FUKUSHIMA IBARAKI TOCHIGI
 GUNMA SAITAMA     TOKYO
 CHIBA KANAGAWA     NIIGATA
 NAGANO YAMANASHI    SHIZUOKA
 
 sakura@ubuntu-ppc:~$ sed -e 's/  */ /g' data.txt 
 HOKKAIDO AOMORI AKITA
 IWATE YAMAGATA MIYAGI
 FUKUSHIMA IBARAKI TOCHIGI
 GUNMA SAITAMA TOKYO
 CHIBA KANAGAWA NIIGATA
 NAGANO YAMANASHI SHIZUOKA

* sedコマンドで先頭のスペースを削除する [#n9c315ab]
 sed -e 's/^  *//g' ファイル名
または
 cat ファイル名 | sed -e 's/^  *//g'
&color(red){s/^の後ろの半角スペースは2つです。};
- 実行結果
 sakura@ubuntu-ppc:~$ cat data.txt 
   HOKKAIDO AOMORI    AKITA
     IWATE    YAMAGATA   MIYAGI
   FUKUSHIMA     IBARAKI TOCHIGI
 GUNMA SAITAMA     TOKYO
 
 sakura@ubuntu-ppc:~$ sed -e 's/^  *//g' data.txt 
 HOKKAIDO AOMORI    AKITA
 IWATE    YAMAGATA   MIYAGI
 FUKUSHIMA     IBARAKI TOCHIGI
 GUNMA SAITAMA     TOKYO

* sedコマンドで後ろのスペースを削除する [#wff9e243]
 sed -e 's/  *$//g' ファイル名
または
 cat data.dat | sed -e 's/  *$//g'
&color(red){s/の後ろの半角スペースは2つです。};

- 実行結果
後ろがスペースだと実行結果がわかり辛いのでスペースをアンダースコアにて実行してみます。
 sakura@ubuntu-ppc:~$ cat data.txt 
 __HOKKAIDO_AOMORI____AKITA__
 ____IWATE____YAMAGATA___MIYAGI_
 __FUKUSHIMA_____IBARAKI_TOCHIGI_____
 GUNMA_SAITAMA_____TOKYO
 
 sakura@ubuntu-ppc:~$ sed -e 's/__*$//g' data.txt 
 __HOKKAIDO_AOMORI____AKITA
 ____IWATE____YAMAGATA___MIYAGI
 __FUKUSHIMA_____IBARAKI_TOCHIGI
 GUNMA_SAITAMA_____TOKYO

#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS