shell脚本先读取xml文件,输入搜索的关键字,然后列出关键字,再根据关键字修改其中的属性值
时间: 2023-09-29 14:05:15 浏览: 123
可以使用grep命令来搜索关键字,并使用sed命令修改属性值。以下是一个简单的示例脚本:
```shell
#!/bin/bash
# 读取xml文件
xml_file="example.xml"
xml_content=$(cat "$xml_file")
# 输入搜索的关键字
echo "请输入搜索的关键字:"
read keyword
# 列出包含关键字的行,并获取属性名和属性值
lines=$(echo "$xml_content" | grep "$keyword")
echo "$lines" | while read line; do
attr_name=$(echo "$line" | sed -n 's/.* \([a-zA-Z_]*\)=".*"/\1/p')
attr_value=$(echo "$line" | sed -n 's/.* [a-zA-Z_]*="\([^"]*\)".*/\1/p')
echo "属性名:$attr_name,属性值:$attr_value"
done
# 根据关键字修改属性值
echo "请输入要修改的关键字:"
read modify_keyword
echo "请输入要修改成的属性值:"
read new_value
xml_content=$(echo "$xml_content" | sed "s/$modify_keyword=\"[^\"]*\"/$modify_keyword=\"$new_value\"/g")
# 将修改后的xml内容写回文件
echo "$xml_content" > "$xml_file"
```
这个脚本首先读取指定的xml文件,并要求用户输入要搜索的关键字。然后,它使用grep命令列出包含关键字的行,并使用sed命令提取属性名和属性值。接下来,它要求用户输入要修改的关键字和要修改成的属性值,并使用sed命令修改相应的行。最后,它将修改后的xml内容写回文件。
阅读全文