我正在开发一个脚本,该脚本解析打开的 xml 文档中的信息并解析脚本的输出以提供 csv 输出。
我被困在最后一个障碍上。
find /media/path/to/files -type f -iname '*.xlsx' -exec perl parseXML.py {} \; \
| grep -v 'Document\ name\|creator\|lastModified\|Printed\|created\|modified' \
| tr '\n' '.'; echo \n \
>> list.csv
这个输出的问题是我最终得到了一个包含所有文档的庞大列表,并且在 python 或 perl 中对其进行排序出现在我的知识水平之上。
我希望有一种方法可以通过使用 sed 来避免从偏移量中发生这种情况
(find /media/E01880-0-CH5-W001/Working/E01880-4-CH5-E001/ED/ -type f -iname '*.xlsx' -exec perl parseXML.py {} \; | grep 'Document\ name\|creator\|lastModified\|Printed\|created\|modified' | tr '\n' '.'; echo \)n >> list.csv
唉,无济于事,这只是删除了包含修改信息的行。
最后今天晚上我尝试使用 sed 和一些正则表达式来更改输出
cat PleaseWork.csv | sed -i 's/modified[^"\r\n]*\./&\\n/g' >> NewFile.csv
理论上语法应该替换修改的和任何字符,直到匹配表达式和新行的句点,但我收到一个 sed 错误,没有输入文件,我想我现在已经盯着屏幕看够了。
请帮忙。
我正在使用谷歌的 snortdlp 代码:
http://snortdlp.googlecode.com/svn-history/r115/trunk/src/python/read_open_xml.pl