文字列をワイルドカードに置き換えたいが、動作しない。ワイルドカード付きSEDを使用
文字列は "いくつかの文字列-8" のように見える
私は
sed -i 's/string-*/string-0/g' file.txt
を書きましたが、出力は
some-string-08
文字列をワイルドカードに置き換えたいが、動作しない。ワイルドカード付きSEDを使用
文字列は "いくつかの文字列-8" のように見える
私は
sed -i 's/string-*/string-0/g' file.txt
を書きましたが、出力は
some-string-08
あるアスタリスク(*)の「ゼロまたはそれ以上の意味前の項目 "。あなたが一致する場合は、任意の文字列と一致するように(つまり、任意の単一文字を0回以上)したい場合は
任意の一文字だから
sed -i 's/string-.*/string-0/g' file.txt
、という概念を使用し
sed -i 's/string-./string-0/g' file.txt
を使用します正規表現の「ワイルドカード」は少し違って動作します。 "任意の文字"と一致させるために、 "。"を使用します。 "*"修飾語は、何度も一致することを意味します。
私の質問は不完全だったかもしれません....あなたのコマンドはこのfienのために働きます。しかし、 'some-string-8 -x --command acommand'があれば、そのコマンドを実行すると' some-string-0'が出力されます。それ以降はすべての文字が削除されます。 'some-string-0 -x --command acommand' – mahmood
ok最初のコマンドは何ですか? – mahmood
置換文字列にワイルドカードを使用する場合はどうしたらいいですか? 例: 'AAA。* BBB'を 'CCC。* DDD'に置き換えます。 – user2561747