A 回答 (10件)
- 最新から表示
- 回答順に表示
No.10
- 回答日時:
apple=xx の xx 部が数値である前提で以下コマンドラインを実行
echo pen=1,apple=2,orange=3 | sed 's/.*\(apple=[0-9][0-9]*\).*/\1/'
または、その文字列がファイルに記載されているならば
sed 's/.*\(apple=[0-9][0-9]*\).*/\1/' < その文字列が記載されているファイル
No.6
- 回答日時:
おおさすが正規表現のプロは違いますね。
¥1なんてすっかり忘れてました。LINE1="pen=1,apple=2,orange=3"
regexp=".*(apple=[0-9]*).*"
[[ $url =~ $regexp ]]
echo ${BASH_REMATCH[1]}
bash限定のsed使わない例。
No.3
- 回答日時:
forいらないですよ。
正規表現だけでいけます。ただごめんなさい、私の力では2回置換が必要です。正規表現のプロならいっぱつでいける正規表現かけるのかも。
「pen=1,apple=2,orange=3」を「^.*apple=」で正規表現で置換すると、
「2,orange=3」になりますので、再度「,.*$」で置換すると、
「2」になります。
「orange=9, apple=3,pen=5,school=1」でも「3」となります。
すいません、いまBashの実行環境がないのでためせてないですが、
http://utils.ipentec.com/WebTextUtility/ReplaceT …
こんなサイトでテストしました。
sed使わなくてもbashなら置換可能です。
http://d.hatena.ne.jp/ozuma/20130928/1380380390
「${変数名/置換前文字列/置換後文字列} 置換する」こちらを見てください。
echoしてるだけですが、変数に入れればいいかと思います。
おっしゃるとおり、for文とかを使って、処理すればできそうです。
たとえば
------------------
LINE1="pen=1,apple=2,orange=3"
LINE2=`echo ${LINE} | sed -e "s/,/ /g" ` ## 「,」を「空白」に変換
for STRING in ${LINE2}
do
if [ ${STRING} ~= "appel" ]
done
-------------------
しかし、ワンライナーで処理したいのですが、方法ありますか。
No.1
- 回答日時:
回答ありがとうございます。
正規表現を使えばいいのですね。
具体的にどうすればいいのでしょうか。
sedでしょうかawkでしょうか。
もし、わかるようでしたら、ご指導ください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- iPad iPad で Apple Pencil を使いメモアプリで文字をキーボードから打ち込みたいのですが描 2 2022/10/05 20:49
- C言語・C++・C# C言語について質問です。 以下のような結果を出すためにはどのようなコードが良いですか?サンプルコード 3 2022/11/01 16:19
- 英語 法人の記載方法と英文についてご相談 1 2023/04/09 14:54
- iPhone(アイフォーン) iPhone から Apple TV HD へ映像出力・HomePod mini へ音声出力同時に行 1 2022/05/08 14:05
- その他(パソコン・スマホ・電化製品) iPhoneの購入について 質問1:ビックカメラの店頭で当日行ってiPhone14プラスって買えるの 1 2022/10/12 09:45
- iPhone(アイフォーン) iPhone(iPhone 12 pro)、故障紛失サポート with AppleCare Serv 3 2022/09/03 12:38
- 電子マネー・電子決済 リクルートカードのVISAブランドは Apple PAY で使えるのか 2 2022/10/09 12:16
- Mac OS apple製品に統一することを何と呼ぶ? 5 2023/07/21 22:26
- その他(セキュリティ) Apple製品で留守宅を監視 お世話になります。 家を留守にする時セキュリティのことが問題になってま 1 2023/02/03 00:08
- iPad AppleのiPadをつかっているのですが AppleIDのパスワードが分からなくなってしまい。 色 2 2022/04/15 23:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Linux環境 grepで改行コード(CR...
-
フィールドでgrepみたいなこと
-
grepで検索文字列が完全一致し...
-
grepでの抽出箇所のみ置換して...
-
sed で \\ を含む文字列に置換
-
zshの文字列置換機能
-
grepで日付指定してlogを取り出...
-
grepで全角文字の行を抽出
-
【シェルスクリプト】awkの結果...
-
bashでブランク(空白)を検索文...
-
シェルスクリプトでmd5sum
-
テキストファイルの間引き削除...
-
grepでの日本語検索
-
bashなどのシェル変数の値に改...
-
awkを用いて、特定の文字を含む...
-
TOPコマンドで表示するCPU使用...
-
スクリプトのエラー「unexpecte...
-
Dirコマンドでフォルダ内ファイ...
-
batである文字列内に特定の文字...
-
[バッチファイル]レジストリ値...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Linux環境 grepで改行コード(CR...
-
grepで検索文字列が完全一致し...
-
grepで日付指定してlogを取り出...
-
grepで全角文字の行を抽出
-
sed で \\ を含む文字列に置換
-
zshの文字列置換機能
-
【シェルスクリプト】awkの結果...
-
grepでの日本語検索
-
テキストファイルの間引き削除...
-
コマンドの出力結果をn行おきに...
-
grepでの抽出箇所のみ置換して...
-
フィールドでgrepみたいなこと
-
awkを用いて、特定の文字を含む...
-
bashなどのシェル変数の値に改...
-
行頭と行末に文字追加
-
特定の文字列を含む行だけ削除...
-
特定文字列を除外する方法(gre...
-
LINUXで半角の英数字以外の文字...
-
bashでブランク(空白)を検索文...
-
awkのフィールド数制限について...
おすすめ情報