我有一个包含这样文件的目录:
one.xml
two.xml
three.xml
等
我想打开/读取所有文件并将一些值保存到新文件中(例如new.txt
)
new.txt
中的结果应该是(第一行的文件名/值):
one value of first line
two value of first line
three value of first line
等
答案 0 :(得分:2)
您可以使用head
获取第一行。以下应该有效:
for i in *.xml; do echo -n "$(basename "$i" ".xml") "; head -1 "$i" ; done >> new.txt
答案 1 :(得分:1)
sed可以做到这一点很好,只需要一点帮助:
find . -maxdepth 1 -type f -name "*.xml" -exec sed -n 1p "{}" ";"
(YMMV关于引用exec的参数)。
这样做是使用1p
打印每个文件的第一行,并将其与-n
结合起来,这会抑制正常输出,在这种情况下,正常输出将打印每行的每一行文件。