在bash变量中应用sed并将其分配给另一个变量
我有: 因此,有一个带有文件夹名的在bash变量中应用sed并将其分配给另一个变量,bash,sed,Bash,Sed,我有: 因此,有一个带有文件夹名的json文件。但是json要求strings在“中。使用bash读取json返回我”,我想删除它 将其传递给变量,然后应用sed无效。正确的语法是什么 谢谢大家! Posix外壳需要: MY_FOLDER=`jq '.results_folder' ./conf.json` FOLDER_WITHOUT_QUOTES=$MY_FOLDER | sed 's/"//g' python my_code.py > $FOLDER_WITHOUT_Q
json
文件。但是json
要求strings
在“
中。使用bash读取json返回我”
,我想删除它
将其传递给变量,然后应用sed
无效。正确的语法是什么
谢谢大家! Posix外壳需要:
MY_FOLDER=`jq '.results_folder' ./conf.json`
FOLDER_WITHOUT_QUOTES=$MY_FOLDER | sed 's/"//g'
python my_code.py > $FOLDER_WITHOUT_QUOTES/log.log
使用Bash,您可以使用here文档语法:
FOLDER_WITHOUT_QUOTES="$(printf '%s\n' "$MY_FOLDER" | sed 's/"//g')"
注意:使用
$(命令)
语法,不要使用可读性较差且不能很容易嵌套的反引号。为此,您可以使用jq-r
。@oguzismail谢谢。我是说Posix。答案已更新。
FOLDER_WITHOUT_QUOTES=$(sed 's/"//g' <<< "$MY_FOLDER")
FOLDER_WITHOUT_QUOTES=${MY_FOLDER//\"}