カテゴリー
【Sed活用講座】 不要な空白(文字列前後の空白や連続した空白)を削除
※ 当ページには【広告/PR】を含む場合があります。
2021/04/05
はじめに
空白文字のおさらい
ユニコード | 名称 | 機能 |
---|---|---|
U+0020 | スペース | 語と語の区切り |
U+00A0 | ノーブレークスペース | 自動的な改行を防ぐ特殊スペース |
U+0009 | タブ | 文章の整形・修飾 |
U+000D | CF(キャリッジリターン) | カーソルを左端の位置に戻す |
U+000A | LF(ラインフィード) | カーソルを新しい行に移動する |
U+3000 | 全角スペース | 使用するフォント(全角)により幅が変化する |
U+2000~U+200F | その他特殊スペース | 文章の整形・修飾。様々な幅に対応 |
『 』
不要な空白文字を削除する
xlsx2csvの-eオプション
\n
不要な空白文字
+ 文字列のセルはダブルクォーテーション("文字)で囲む
+ "文字直後から始まる空白があれば削除する
+ "文字直前にある空白があれば削除する
+ 改行エスケープ(\n)直後から始まる空白があれば削除する
+ \n直前にある空白があれば削除する
+ それ以外の連続する空白は、1文字の空白に置換する
$ sed -r '
s/"[[:blank:]]+/"/g
s/\\n[[:blank:]]+/\\n/g
s/[[:blank:]]+"/"/g
s/[[:blank:]]+\\n/\\n/g
s/[[:blank:]]+/ /g
' <<EOF
" のどか な\n 田園 風景 "," あ \n小林 さん!"," メガネ は\n ずれ 落ち る"
EOF
"のどか な\n田園 風景","あ\n小林 さん!","メガネ は\nずれ 落ち る"
\s
[:blank:]
まとめ
記事を書いた人
ナンデモ系エンジニア
主にAngularでフロントエンド開発することが多いです。 開発環境はLinuxメインで進めているので、シェルコマンドも多用しております。 コツコツとプログラミングするのが好きな人間です。
カテゴリー