問題タブ [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.
regex - Bashスクリプトで機能しない行末$の正規表現一致
単語の末尾に一致して置き換える単純な正規表現ステートメントを bash スクリプトで実行しようとしています。以下は私がやろうとしていることです。
以下は私が使用しているコードです。
私はbashスクリプトに慣れていません$
.変数をマークするために使用されるため、bashスクリプトと関係があると思います. 私はそれをエスケープするだけでなく、/
その後に別のものを追加しようとしました。削除する$
と機能します(単語の終わりをチェックせずに)。
bash - bash の間接展開で一時変数を使用する必要があるのはなぜですか?
https://stackoverflow.com/a/10820494/1764881から、標準的な方法は次のように思われることを知っています。
しかし、私はこれらの次のフォームのいずれかを行うことができないようです. それらはすべて失敗しました:
bash の man ページを読みましたが、まだ理解できませんでした。最初のフォームだけが受け入れられるというのは本当ですか?
bash - パラメータ展開を使用して Bash で文字列から先頭の数字を削除する
最初の文字列はRU="903B/100ms"
、私が取得したいものB/100ms
です。
現在、私は書いています:
/100ms
これは、パラメーター展開によって最初の非数値文字までが削除されるため、返されます。この場合、最初の数字以外の文字を保持したいと思います。上記のテキストを修正してこれを行うにはどうすればよいですか?
bash - bash 部分文字列置換で正規表現を使用できますか?
次のような文字列が与えられた場合
bash 部分文字列置換を使用して、特定の部分文字列とそれに隣接するスペース (存在する場合と存在しない場合があります) を削除するにはどうすればよいですか?
たとえば、これにより余分なスペースが発生します。
私の実際のコードでは、部分文字列が何であるか、または文字列内のどこにあるかを事前に知ることはできないため、先頭または末尾にスペースがあるかどうかは不明です。で行うように、次のようなことをしたかったのですsed
が、もちろんうまくいきませんでした。
ではsed
、 のようなものを使用しますsed -e 's/ *val2 */ /'
が、これらすべてを bash 内から実行したいと考えています。
パターンに 0 個以上のスペース + 'val2' + 0 個以上のスペースが含まれるように部分文字列を定義する方法はありますか?
shell - コマンド s フラグの出力での Zsh パラメータ展開が機能しない
zsh で実行すると、次のようになります。
私はfoo
あなたが期待するように取得します(w
インデックスが単語を参照s:, :
する,
ようになり、単語の区切りになります)。
ただし、これらを組み合わせようとすると:
私は得るfoo,
。何らかの理由で、w
フラグは正しく機能していますが、s:, :
フラグは完全に無視されています。
ここで何が間違っていますか?
詳細:これは ${} 内の $() の問題です。${} 内に ${} をネストしても、そのような問題はありません。
bash - Bash 文字クラス パラメーター展開の一貫性のない動作
これは、bashのバグを示唆していると思われるすべての手順です。
バージョンおよびプラットフォーム情報
問題の詳細な手順:
「*[:alpha:]」が「a*」ファイル名をリストし、「b*」ファイル名をリストしないのはなぜですか?
疑問に思う人のために、適切な動作を得るには、*([[:alpha:]]) を使用する必要があります。しかし、それはここに示されている矛盾を説明していません。
bash - ドットの前の部分文字列を抽出する
bashでdot
( )の前の最初の文字列を減算しようとしました。.
例えば:
docsに基づいて次のコマンドを使用しました。
しかし、それは4.5
の代わりに出力し4
ます。理解できません。
何故ですか?