タグ

ブックマーク / mikeda.hatenablog.com (1)

  • シェルスクリプトでsplit - mikedaの日記

    シェルスクリプトで文字列分割と言えばやはりwhile read while read f1 f2 f3;do echo $f1 echo $f2 done < file.txt 標準入力やファイルから1行ずつ読み込んで、という最もありがちな処理にはこれが1番わかりやすいですね。IFSで区切り文字を変えたりもできます。 しかしある変数、STRに入った文字列を分割するにはどうでしょうか。 readではちょっと難しいです。 STR="aa bb cc" echo $STR | read f1 f2 f3 echo $f1 # => 何も表示されない これはパイプがこっそり右側のコマンドをサブシェル起動するためです。 (と昔どこかで読んだんですが$$を表示してみるとPIDはいっしょですね。別の理由かも) 一連の処理をかっこでくくれば回避できなくもないですが、使い勝手悪すぎですね。 STR="aa

    シェルスクリプトでsplit - mikedaの日記
  • 1