OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

シェルスクリプトである文字列から一定の文字列を取得する方法

  • 暇なときにでも
  • 質問No.172879
  • 閲覧数504
  • ありがとう数1
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 5% (14/237)

cshのスクリプトを書いているのですが、ある文字列から文字列を取得するにはどうしたらよいでしょうか?
具体的には、
aaaaaaabbbbb という文字列があってここから aaaaaaa だけ取り出すには
どうすればよいでしょうか?
ただし、aの文字は可変でbは固定の文字列です。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.3
レベル9

ベストアンサー率 54% (39/72)

補足されたので補足返しというこって

最後のbbbの部分の文字列長が固定でないとすると

sed 's/[b]*$//g'

でいけるはず。

もめるのももともとの文字列フォーマットがあきらかでないからだと思うので、文字列フォーマットを説明できる程度によく考えましょう。

それを正規表現にできれば(shell,sed)スクリプトなどできたも同然です。awkやperlで制御構造をもたせる場合はもう少しかかりますが。
今後のためにも正規表現を勉強しましょう。
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル9

ベストアンサー率 54% (39/72)

shellのビルトインだけでやる場合はパスします。 bbbbbの部分がファイル名の拡張子などのように文字と長さの両方が固定した文字の場合はbasename使えばできると思います。 basename aaaaaaabbbbb bbbbb もし、bbbbbが文字固定かつ長さ不定の場合はsedでできます。 echo "aaaaaaabbbbb" | sed  ...続きを読む
shellのビルトインだけでやる場合はパスします。

bbbbbの部分がファイル名の拡張子などのように文字と長さの両方が固定した文字の場合はbasename使えばできると思います。

basename aaaaaaabbbbb bbbbb

もし、bbbbbが文字固定かつ長さ不定の場合はsedでできます。

echo "aaaaaaabbbbb" | sed 's/b//g'

でどないでしょ?

文字列フォーマットの情報が乏しいので確信をもってアドバイスできません。


  • 回答No.2
レベル14

ベストアンサー率 50% (1122/2211)

No.1 の回答を(勝手に (^^;)補足します。 basename コマンドは、パスからファイル名を取り出す目的で作られているので、 "/" があると、それより前の文字を削除します。なので、 % basename aaa/ccccccbbbbb bbbbb cccccc となります。質問にある「aの文字は可変」が "/" を含まない場合じゃな ...続きを読む
No.1 の回答を(勝手に (^^;)補足します。

basename コマンドは、パスからファイル名を取り出す目的で作られているので、
"/" があると、それより前の文字を削除します。なので、

% basename aaa/ccccccbbbbb bbbbb
cccccc

となります。質問にある「aの文字は可変」が "/" を含まない場合じゃないと
使えません。

また、sed を使うケースとして挙げられた

mph> echo "aaaaaaabbbbb" | sed 's/b//g'

は、「b を全て削除する」という形です。
文字列のお尻に決った文字があって、それを削除する、の一般的な形は

% echo "aaaaaaabbbbb" | sed 's/bbbbb$//'

となります。


これだけじゃああんまりなんで、無理矢理、私のオリジナルの回答をつけておきましょう。
awk を使うケースです。

% echo "aaaaaaabbbbb" | awk '{ sub( /bbbbb$/, "" ) ; print }'

# ちなみに、私が同じ立場にあれば、迷わず sed を使います
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ