Я просмотрел множество подобных сообщений, но ни одно из них не могло быть применено к моему.
Я хотел бы искать и заменять с помощью sed в некоторых конкретных строках таким образом, чтобы он соответствовал только первому вхождению; скажем, у меня есть эта часть скрипта:
processor <- read.table("../mall_all/adpcm/FULL_DB-constprop", header=TRUE, colClasses=c("reassociate"="factor", "scalarrepl"="factor", "inline"="factor", "sccp"="factor", "loop_reduce"="factor"))
processor<-processor[-c(20:40)]
processor$intensity <- processor$int_high - processor$int_low
processor$performance<- processor$perf_high - processor$perf_low
processor<-processor[-c(1:4)]
processor<-processor[,!names(processor) %in% c("constprop")]
Я хочу продолжать изменять переменную $constprop в
"../mall_all/adpcm/FULL_DB-constprop"
А ТАКЖЕ
[,!names(processor) %in% c("constprop")]
в цикле, который я написал, проблема; Я хочу, чтобы параметры colClasses И остальные скрипты оставались неизменными при входе в цикл (цикл имеет такие параметры компилятора, как: reassociate, inline, constprop и т. д.)
Мне было интересно, почему мой поиск и замена не сработали:
set -x
compilerOptionList="constprop dce inline instcombine licm loop_reduce loop_rotate loop_unroll loop_unswitch loop_unswitch mem2reg memcpyopt reassociate scalarrepl sccp simplifycfg "
stringToBeReplaced=constprop
for compilerOption in $compilerOptionList
do
echo "Using compiler option: $compilerOption"
//here you could see the sed scripts
sed -i "1,15 /FULL_DB/,/header/ s/$stringToBeReplaced/$compilerOption/" r.scr
stringToBeReplaced=$compilerOption
make
mv Rplots.pdf Rplots_adpcm_$compilerOption.pdf
echo "DONE! $compilerOption"
done
Спасибо всем за ваше время и помощь ;)
Амир