簡體   English   中英

在bash中使用一些變量grep一個字符串

[英]grep a string with some variables in bash

我一直在苦苦掙扎兩個小時才弄清楚我的這個劇本的問題。 當我靜態地使用它而沒有任何變量時它會獲取grep結果,但是當我將它們與這些變量放在一起時,我一直收到錯誤並且沒有結果。 我相信我無法處理的特殊角色逃脫有問題。

我有這個結構的文件FLAGS_IN:

automotive_susan_s dataset1 -funsafe-math-optimizations -fno-guess-branch-probability -fno-ivopts  -fno-inline-functions  -fno-omit-frame-pointer  -fselective-scheduling -fno-inline-small-functions -fno-tree-pre -ftracer -fno-move-loop-invariants

在AppName中有i的標志,在上面構造的數據集$ j。 任何人都可以幫我弄清楚這部分sh腳本有什么問題嗎?

GCC_OPT="-O3"
OPT_FLAGS=$("grep $i\ dataset$j\ $FLAGS_IN|sed\ s/$i\ dataset$j//g")
echo $GCC_OPT
echo $OPT_FLAGS
echo "found the validated flags, they are \n $GCC_OPT $OPT_FLAGS"
make -f Makefile.gcc -j4 CCC_OPTS="$GCC_OPT\ $OPT_FLAG"

你引用的時候有點過分熱心。 此外,這里使用cutsed更容易。

OPT_FLAGS=$(grep "$i dataset$j" FLAGS_IN | cut -d " " -f3-)

make -f Makefile.gcc -j4 CCC_OPTS="$GCC_OPT $OPT_FLAG"

這是你想要做的:

$ cat file
foo
automotive_susan_s dataset1 -funsafe-math-optimizations ...
bar

$ i=automotive_susan_s
$ j=1

$ sed -n "s/$i dataset$j//p" file
 -funsafe-math-optimizations ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM