- ベストアンサー
KSHでの文字列操作
- KSHを使用して、ファイル中の「;」までの文字列を取得して表示する方法について教えてください。
- 質問者は、与えられたファイルの内容から「;」までの文字列を繰り返し取得して表示したいと考えています。
- 要望は、見やすくて高速なレスポンスを得る方法です。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#2です。 こちらを使用して下さい。 -------------------------- #! /bin/ksh while read line do data=${data}${line} last=`expr "$line" : ".*\(.\)$"` case "$last" in ';') echo $data data="" ;; *) ;; esac done --------------------------
その他の回答 (3)
- tatsu99
- ベストアンサー率52% (391/751)
#2です。 #2の回答はだめですね。無視して下さい。
- tatsu99
- ベストアンサー率52% (391/751)
#1です。 なるほどKorn shellですか。 以下のようなスクリプトを作成して下さい。(ファイル名をtest.shとします) ----------------------- #! /bin/ksh while read line do case "$line" in ';') echo $data data="" ;; *) data=${data}${line} ;; esac done ----------------------- つぎに、いかのようなデータを用意します。(ファイル名をdataとします) ------------------------ aa a1 ; bb bbbb b2 ; ccc dd ; ------------------------ test.sh < data と入力します。 画面に aaa1 bbbbbbb2 cccdd と表示されます。 solaris10(INTEL版)で動作確認済みです。 なお、シェルの質問は、C&C++でなく、その他(プログラミング)のほうが、回答がつきやすいと思いますよ。
- tatsu99
- ベストアンサー率52% (391/751)
KSHってなんですか?
補足
ううう、すみません。><。 Korn Shellです。 大文字で書いたのが悪かったのでしょうか。 それとも、書く場所が悪かったのでしょうか。 ><。。。
お礼
ありがとうございました!!><。 正規表現は、何度説明書を読んでもなかなか理解しづらく情けないですが、頑張って勉強しようと思います。 優しく教えて頂けて、本当に嬉しかったです。 ><。。ありがとうございます!