2
ファイルがあり、パターンを別の文字列に置き換えたい。SEDを使用してパターンを置き換えると、余分な文字が表示される
#PBS -N bench1-M1-plt2-size15
#PBS -o /home/results/bench1-M1-plt2-size15.out
./run -d ./results/ --config=bench1-M1-plt2-size15.conf \
--results=bench1-M1-plt2-size15.res config/myConfig.txt -F 2000000
出力ファイルは次のようになりますしかし、私は、このコマンドに
sed 's/M1-[^-]*-[^-]/M1-plt32-size10/g' filename
を使用します。
#PBS -N M1-plt32-size100
#PBS -o /home/mahmood/gem5/results/M1-plt32-size100.out
./run -d ./results/ --config=bench1-M1-plt32-size100.conf \
--results=bench1-M1-plt32-size100.res config/myConfig.txt -F 2000000
"size10" の後に余分な '0' 文字を注意してください。ご覧のように、SEDコマンドのサイズは10に設定されていますが、出力ファイルは「size100」です
何が問題なのですか?
あなたは[^ \。] '何を説明することができます*'意味と 'との違いは何です[^ - ] * '?? – mahmood
はい。 '[^ \ - ] *はハイフン' -'が見つかるまで0以上の文字を意味しますが、 '[^ \ - ] *'は0以上の文字を意味します。元のテキストでは 'M1-'の後にハイフンが1つしかないので、 '[^ - ] * - [^ \。] *'を使用して '-plt2-size15'をドット' .'の直前にマッチさせました。 – anubhava
okありがとう私はそれを得た – mahmood