SED:打开/读取目录中的文件

时间:2013-09-16 07:50:01

标签: bash unix sed

我有一个包含这样文件的目录:

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

2 个答案:

答案 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结合起来,这会抑制正常输出,在这种情况下,正常输出将打印每行的每一行文件。