我有一个带行
的文本文件default_color acolor
我想用
替换这一行default_color anothercolor
我不知道第一种颜色,第二种颜色包含在变量中。 我怎么能用bash来做呢?
谢谢
答案 0 :(得分:7)
这不是纯粹的bash,但如果您有其他控制台工具,请尝试类似
的内容cat your_file | sed "s/default_color\ .*/default_color\ $VAR/"
答案 1 :(得分:0)
答案 2 :(得分:0)
使用gawk
awk '$2=="defaultcolor"{$2="anothercolor"}1' file
或只是bash shell而没有外部命令
while read -r line
do
case "$line" in
*defaultcolor*) line=${line/defaultcolor/anothercolor}
esac
echo $line
done <"file"
答案 3 :(得分:-1)
不是真正的bash解决方案,但您可以使用perl对任意数量的文件进行就地替换:
perl -i -npe 's/default_color acolor/default_color another_color/' list_of_files