0

我有一个包含如下文件的目录:

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

等等

4

2 回答 2

2

您可以使用head. 以下应该有效:

for i in *.xml; do echo -n "$(basename "$i" ".xml") "; head -1 "$i" ; done >> new.txt
于 2013-09-16T07:59:30.480 回答
1

sed 可以很好地做到这一点,在 find 的帮助下:

find . -maxdepth 1 -type f -name "*.xml" -exec sed -n 1p "{}" ";"

(YMMV 关于引用 exec 的参数)。

这是1p用来打印每个文件的第一行,并结合-n抑制正常输出的内容,在这种情况下,将打印文件的每一行。

于 2013-09-16T08:27:19.140 回答