我有一个文件(例如:test.txt),这个文件包含一些行,例如一行是:abcd = / usr / home其中/ usr / home可能不同但是abcd =是相同的案例,
所以有人可以帮我写一个shell命令从一行删除“/ usr / home”而不是“abcd =”
真的很感激......
答案 0 :(得分:1)
让prop_file是您的属性文件的名称。例如text.txt,你想用abcd = newcontent
替换abcd = / usr / home文件prop_file包含以下行以及其他内容。
abcd=/usr/home
make shell sript file startup.sh
Shell脚本startup.sh包含
sed "s/abcd=.*/abcd=$1/g" prop_file > tmp
mv tmp prop_file
执行
sh startup.sh newcontent
答案 1 :(得分:0)
如果abcd
本身不包含=
,则可以使用
awk 'BEGIN { FS = "="; OFS = "=" } $1 == "abcd" { print $1, "new value"; next } 1' < test.txt > test_new.txt
输入:
abcd=/usr/home
efgh=something else
输出:
abcd=new value
efgh=something else