• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:KSHでの文字列操作)

KSHでの文字列操作

このQ&Aのポイント
  • KSHを使用して、ファイル中の「;」までの文字列を取得して表示する方法について教えてください。
  • 質問者は、与えられたファイルの内容から「;」までの文字列を繰り返し取得して表示したいと考えています。
  • 要望は、見やすくて高速なレスポンスを得る方法です。

質問者が選んだベストアンサー

  • ベストアンサー
  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.4

#2です。 こちらを使用して下さい。 -------------------------- #! /bin/ksh while read line do data=${data}${line} last=`expr "$line" : ".*\(.\)$"` case "$last" in ';') echo $data data="" ;; *) ;; esac done --------------------------

sinjin001
質問者

お礼

ありがとうございました!!><。 正規表現は、何度説明書を読んでもなかなか理解しづらく情けないですが、頑張って勉強しようと思います。 優しく教えて頂けて、本当に嬉しかったです。 ><。。ありがとうございます!

その他の回答 (3)

  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.3

#2です。 #2の回答はだめですね。無視して下さい。

  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.2

#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)
回答No.1

KSHってなんですか?

sinjin001
質問者

補足

ううう、すみません。><。 Korn Shellです。 大文字で書いたのが悪かったのでしょうか。 それとも、書く場所が悪かったのでしょうか。 ><。。。