运行 文件中每一行的命令
Running command on each line in file
我有 FramesList.txt
,该文件包含 5 个 .xml
文件名。没有生成路径,因为列表是由 xml ls > FramesList.txt
命令创建的。
我想 运行 对列出的每个 .xml
文件执行 xmlstarlet
命令。
FramesList.txt
FR0391W.xml
FR0921S.xml
FR0193A.xml
FR0192B.xml
FR0132E.xml
那看起来怎么样?是循环吗?
while read -r line
do
xmlstarlet "$line"
done <FramesList.txt
您可以使用 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
我认为大多数 XML Starlet 命令接受多个文件作为参数,并且由于您的输入列表很小,您也可以这样写
xml COMMAND $(<FramesList.txt)
我有 FramesList.txt
,该文件包含 5 个 .xml
文件名。没有生成路径,因为列表是由 xml ls > FramesList.txt
命令创建的。
我想 运行 对列出的每个 .xml
文件执行 xmlstarlet
命令。
FramesList.txt
FR0391W.xml
FR0921S.xml
FR0193A.xml
FR0192B.xml
FR0132E.xml
那看起来怎么样?是循环吗?
while read -r line
do
xmlstarlet "$line"
done <FramesList.txt
您可以使用 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
我认为大多数 XML Starlet 命令接受多个文件作为参数,并且由于您的输入列表很小,您也可以这样写
xml COMMAND $(<FramesList.txt)