我正在阅读并尝试将更改附加到一组文件,但它没有按预期工作。输出完美打印但不附加到文件集中。
"frameworks": {
"netcoreapp1.1": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.1.0"
}
},
"imports": "dnxcore50"
}
}
请帮助。
答案 0 :(得分:1)
假设当你说append the changes
时你的意思是apply the changes
时,这就是你用循环和任何awk做的方式:
while IFS= read -r i; do
awk '/\[groups/{a=1;print;next} /^\[/{a=0}a && /=/{$0=$0",raspberry"}7' "$i" > "$i.tmp" &&
mv "$i.tmp" "$i"
done < file
但你的awk命令可以更清晰,更简单,请参阅https://stackoverflow.com/a/41811423/1745001,如果你有GNU awk和GNU xargs你不需要循环或tmp文件:
xargs -d $'\n' < file awk -i inplace '/\[/{f=/groups/} f{if (NF) $0=$0",raspberry"} 1'