問題タブ [parameter-expansion]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1064 参照

regex - Bashスクリプトで機能しない行末$の正規表現一致

単語の末尾に一致して置き換える単純な正規表現ステートメントを bash スクリプトで実行しようとしています。以下は私がやろうとしていることです。

以下は私が使用しているコードです。

私はbashスクリプトに慣れていません$.変数をマークするために使用されるため、bashスクリプトと関係があると思います. 私はそれをエスケープするだけでなく、/その後に別のものを追加しようとしました。削除する$と機能します(単語の終わりをチェックせずに)。

0 投票する
1 に答える
48 参照

bash - bash の間接展開で一時変数を使用する必要があるのはなぜですか?

https://stackoverflow.com/a/10820494/1764881から、標準的な方法は次のように思われることを知っています。

しかし、私はこれらの次のフォームのいずれかを行うことができないようです. それらはすべて失敗しました:

bash の man ページを読みましたが、まだ理解できませんでした。最初のフォームだけが受け入れられるというのは本当ですか?

0 投票する
3 に答える
175 参照

bash - パラメータ展開を使用して Bash で文字列から先頭の数字を削除する

最初の文字列はRU="903B/100ms" 、私が取得したいものB/100msです。

現在、私は書いています:

/100msこれは、パラメーター展開によって最初の非数値文字までが削除されるため、返されます。この場合、最初の数字以外の文字を保持したいと思います。上記のテキストを修正してこれを行うにはどうすればよいですか?

0 投票する
2 に答える
252 参照

bash - bash 部分文字列置換で正規表現を使用できますか?

次のような文字列が与えられた場合

bash 部分文字列置換を使用して、特定の部分文字列とそれに隣接するスペース (存在する場合と存在しない場合があります) を削除するにはどうすればよいですか?

たとえば、これにより余分なスペースが発生します。

私の実際のコードでは、部分文字列が何であるか、または文字列内のどこにあるかを事前に知ることはできないため、先頭または末尾にスペースがあるかどうかは不明です。で行うように、次のようなことをしたかったのですsedが、もちろんうまくいきませんでした。

ではsed、 のようなものを使用しますsed -e 's/ *val2 */ /'が、これらすべてを bash 内から実行したいと考えています。

パターンに 0 個以上のスペース + 'val2' + 0 個以上のスペースが含まれるように部分文字列を定義する方法はありますか?

0 投票する
1 に答える
387 参照

shell - コマンド s フラグの出力での Zsh パラメータ展開が機能しない

zsh で実行すると、次のようになります。

私はfooあなたが期待するように取得します(wインデックスが単語を参照s:, :する,ようになり、単語の区切りになります)。

ただし、これらを組み合わせようとすると:

私は得るfoo,。何らかの理由で、wフラグは正しく機能していますが、s:, :フラグは完全に無視されています。

ここで何が間違っていますか?

詳細:これは ${} 内の $() の問題です。${} 内に ${} をネストしても、そのような問題はありません。

0 投票する
1 に答える
44 参照

bash - Bash 文字クラス パラメーター展開の一貫性のない動作

これは、bashのバグを示唆していると思われるすべての手順です。

バージョンおよびプラットフォーム情報

問題の詳細な手順:

「*[:alpha:]」が「a*」ファイル名をリストし、「b*」ファイル名をリストしないのはなぜですか?

疑問に思う人のために、適切な動作を得るには、*([[:alpha:]]) を使用する必要があります。しかし、それはここに示されている矛盾を説明していません。

0 投票する
2 に答える
12945 参照

bash - ドットの前の部分文字列を抽出する

bashでdot( )の前の最初の文字列を減算しようとしました。.

例えば:

docsに基づいて次のコマンドを使用しました。

しかし、それは4.5の代わりに出力し4ます。理解できません。

何故ですか?