【发布时间】:2016-12-15 21:31:54
【问题描述】:
我的文件包含两行总是以foo 和bar 开头,后跟一个冒号、一个空格和一个固定长度的字符串(可以包含大写字母A-Z、数字0-9 和<) :
foo: PF29273467<<<<<<<<
bar: CLPERJD<<<<<122111
我想遍历每个文件,连接来自foo 和bar 的字符串,并将这个新字符串作为新行附加到文本文件中,前面是字符串来源文件中的文件名和一个空格.
因此,当迭代一组 3 个文件(file1.x、file2.x、file3.x)时,新文本文件的内容将是:
file1.x PF29273467<<<<<<<<CLPERJD<<<<<122111
file2.x FLOEH73443<<<<1<<<CROEKJF<<<<<1F2122
file3.x IRHDS72455<<<<23<<XXXSDWR<<<<<122111
我对 bash 脚本不太熟悉,所以到目前为止,我能想到的只是遍历文件并打印包含 foo: 的行
#!/bin/bash
for f in *.x; do
if grep -q foo: "$f"; then
cat $f | grep foo:
fi
done
【问题讨论】: