#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)