2
파일이 있고 패턴을 다른 문자열로 대체하려고합니다.SED를 사용하여 패턴을 바꾸면 여분의 문자가 나타납니다.
#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'문자를 참고 : 출력 파일은 다음과 같습니다 그러나
#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
를 사용합니다. 보시다시피, SED 명령에서 크기는 10으로 설정되지만 출력 파일은 "size100"
무엇이 문제이며 어떻게 해결할 수 있습니까?
는 [^ \.]'무엇을 설명 할 수 *'의미와'과의 차이점은 무엇입니까 [^ -] *'?? – mahmood
예. '[^ \.] *는'.'이 발견 될 때까지 0 개 이상의 문자를 의미하지만 '[^ \ -] *'는 하이픈'-'이 발견 될 때까지 0 개 이상의 문자를 의미합니다. 원본 텍스트에서'M1-'다음에 하이픈이 하나 밖에 없으므로'[^ -] * - [^ \.] *'를 사용하여 점 '.' 앞에있는'-plt2-size15'와 일치시킵니다. – anubhava
괜찮습니다. 고맙습니다. – mahmood