替换所有版本=";n、 ";除带bash的xml版本外的其他事件
我在目录中有一堆文件具有以下模式:替换所有版本=";n、 ";除带bash的xml版本外的其他事件,bash,awk,sed,Bash,Awk,Sed,我在目录中有一堆文件具有以下模式:version=“0”。里面可以是任何数字。但是我不想影响部分。这一行不能在第一行,所以我们不能跳过第一行。 主要问题是sed和awk的gsub不能与lookback一起工作。我决定做双重工作是可以接受的。替换所有版本,然后修复所有xml版本。但是带-r的sed不了解捕获群体。 到目前为止,我所拥有的: sed -r 's#(\<\?xml .*)version="[^"]*"(.*\?\>)#\1version="1.0"\2#g' fixing
version=“0”
。里面可以是任何数字。但是我不想影响
部分。这一行不能在第一行,所以我们不能跳过第一行。
主要问题是sed和awk的gsub不能与lookback一起工作。我决定做双重工作是可以接受的。替换所有版本,然后修复所有xml版本。但是带-r的sed不了解捕获群体。
到目前为止,我所拥有的:
sed -r 's#(\<\?xml .*)version="[^"]*"(.*\?\>)#\1version="1.0"\2#g' fixing xmls
sed-r的#(\要更改XML文档中的所有version
属性,以下命令就足够了:
xmlstarlet ed --inplace \
-u '//*[@version="0"]/@version' -v 1 \
/your/directory/*.xml
要更改XML文档中的所有version
属性,以下命令就足够了:
xmlstarlet ed --inplace \
-u '//*[@version="0"]/@version' -v 1 \
/your/directory/*.xml
我想我成功了:
find test -exec sed -i 's/version="[^"]*"/version="800"/g' {} \; -print | xargs -I FILE sed -i 's#\(<?xml \)version="[^"]*"\(.*\)#\1version="1.0"\2#g' FILE
find test-exec sed-i's/version=“[^”]*”/version=“800”/g'{}\-print | xargs-i FILE sed-i's#\(
find test -exec sed -i 's/version="[^"]*"/version="800"/g' {} \; -print | xargs -I FILE sed -i 's#\(<?xml \)version="[^"]*"\(.*\)#\1version="1.0"\2#g' FILE
find test-exec sed-i's/version=“[^”]*”/version=“800”/g'{}\-打印{xargs-i文件sed-i's\(如果不使用它们,请不要转义
。尝试以下操作:
sed -r 's#(<\?xml .*)version="[^"]*"(.*\?>)#\1version="1.0"\2#g' file
如果不使用
,请不要逃避。请尝试以下操作:
sed -r 's#(<\?xml .*)version="[^"]*"(.*\?>)#\1version="1.0"\2#g' file
你需要使用XML解析器。你怎么可能需要使用XML解析器。怎么可能不仅是XML文件,而且是只包含这些行的文件。但值得感谢的是,这些文件可能不仅是XML文件,而且是只包含这些行的文件。但是,谢谢