带有分隔符的组合文本文件到一行

时间:2011-07-20 22:16:01

标签: regex linux text

我希望将多个文本文件与分隔符及其文件名相结合,然后删除所有新行并将所有内容放在一行上。

到目前为止,我可以使用两个不同的脚本执行此操作:

find -type f -name '*.txt' -print | while read filename; do echo "±±±±± $filename"; cat "$filename"; done > files.txt; 

tr '\n' ' ' < files.txt  > desiredoutput.txt

我尝试将这两者合并无济于事。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

合并它们的最简单方法是在每个tr$filename代替cat

find -type f -name '*.txt' -print | while read filename
 do echo -n "±±±±± $filename "  # The -n suppresses the \n at the end of the line.
    tr '\n' ' ' < "$filename"
    echo -n ' '  # Add a terminating delimiter
 done > desiredoutput.txt;