【发布时间】:2013-06-29 22:36:19
【问题描述】:
我正在编写一个 shell 脚本,它需要从 badly 中检索键值对
格式化的纯文本.txt 文件。 .txts 是 MS Word 文档,具有
被保存为明文。从下面的示例中可以看出
Sample_Profile.txt,键后面是由分隔的值
左括号和右括号。
唯一的问题似乎是在匹配时忽略了空格和空行
其价值的关键。总之,我想做的是指定密钥(例如
“用户名”或“配置文件名”)和grep只有对应的值,
最后通过管道发送到我的sed,这样我就得到了我需要的值。
这是我编写的脚本,用于获取“用户 名字”。
FIRST_NAME=$(grep "User First Name" Sample_Profile.txt | sed 's|[^(]*(\([^)]*\)).*|\1|')
#grep User First Name key and pipe to sed to get the value bewteen parentheses
sed -i -e 's/USER_FIRST_NAME/'"$FIRST_NAME"'/g' UserName.txt
echo $FIRST_NAME
# outputs "User First Name" when it should get "Goofball" (grep is not
# piping correctly due to white space)
【问题讨论】: