Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用xmlstarlet-f时正确格式化为.csv_Xml_Linux_Bash_Shell_Xmlstarlet - Fatal编程技术网

使用xmlstarlet-f时正确格式化为.csv

使用xmlstarlet-f时正确格式化为.csv,xml,linux,bash,shell,xmlstarlet,Xml,Linux,Bash,Shell,Xmlstarlet,我有以下命令: cat PathFiles.txt | xargs xml sel -T -t -f -m /XML/Path -v "concat(value1,',',value2)" -n > test.csv PathFiles.txt包含.xml文件 COLORADO.xml ALASKA.xml CALIFORNIA.xml WASHINGTON.xml OREGON.xml 它将这样输出: #test.csv COLORADO.xmlvalue1,value2 value

我有以下命令:

cat PathFiles.txt | xargs xml sel -T -t -f -m /XML/Path -v "concat(value1,',',value2)" -n > test.csv
PathFiles.txt包含.xml文件

COLORADO.xml
ALASKA.xml
CALIFORNIA.xml
WASHINGTON.xml
OREGON.xml
它将这样输出:

#test.csv
COLORADO.xmlvalue1,value2
value1,value2
value1,value2
value1,value2
ALASKA.xmlvalue1,value2
value1,value2
value1,value2
value1,value2
...etc 
我的问题是科罗拉多.xmlvalue1,value2
阿拉斯加.xmlvalue1,value2
当我需要的时候

COLORADO.xml 
value1,value2
value1,value2
value1,value2
value1,value2
ALASKA.xml
value1,value2
value1,value2
value1,value2
value1,value2
回到
xmlsel-f
是用来输出文件名的,我觉得我需要在我想要分开的东西之间换行(?)。。我尝试了
-f\n
,但没有成功,然后我发现我已经在
xml sel
命令的末尾使用了换行
-n
命令。这可能吗?我是否应该考虑可能输出到.txt以及使用grep或awk将其分离出来

回到
xmlsel-f
是用来输出文件名的,我觉得我需要在我想要分开的东西之间换行(?)。。我尝试了
-f\n
,但没有成功,然后我发现我已经在
xml sel
命令的末尾使用了换行
-n
命令

只需在
-f
之后添加另一个
-n
命令:

< PathFiles.txt xargs xml sel -T -t -f -n -m /XML/Path -v "concat(value1,',',value2)" -n > test.csv
test.csv
[看这里]