对文件中的每一行运行命令



我有FramesList.txt,该文件包含5个.xml文件名。没有生成路径,因为列表是由xml ls > FramesList.txt命令创建的。

我想在列出的每个.xml文件上运行一个xmlstarlet命令。

FramesList.txt
FR0391W.xml
FR0921S.xml
FR0193A.xml
FR0192B.xml
FR0132E.xml

那看起来怎么样?这是一个循环吗?

您可以使用xargs:

xargs < FramesList.txt -n 1 xmlstartet
#       ^               ^   ^
#       |               |   Command to run
#       |               Max number of arguments (xmlstartet will be called for
#       |               each line in input file)
#       Input file
while  read -r line
do
xmlstarlet "$line"
done <FramesList.txt

我认为大多数XMLStarlet命令都接受多个文件作为参数,并且由于您的输入列表很小,您也可以编写

xml COMMAND $(<FramesList.txt)

相关内容

  • 没有找到相关文章

最新更新