我试图使用bash从几个单行文本文件中读取数据,每个文本文件都在自己的目录中,并将它们分成一个主文件,每个文件都在一个新行上。
我输入文件的数据结构如此;
Store# online backoffice win7
我循环遍历每个目录,查找并将文件内容捕捉到变量。问题是我似乎无法通过每次传递将数据放在换行符上。这是我的代码;
#!/bin/bash
#Find all sites
stores=$(find /home/sites*/ -maxdepth 0)
for store in $stores; do
final=${final}$(cat ${store}\processors.txt)"\n"
done
printf "${final}" > ~/master.txt
我在主文件中得到的是
Store# online backoffice win7Store# online backoffice win7
答案 0 :(得分:0)
您可以通过以下单行替换脚本:
find /home/sites* -name "processors.txt" -exec cat {} + > ~/master.txt
正如您将在Windows机器中阅读一样,您可能希望在行尾插入返回托架:
find /home/sites* -name "processors.txt" -exec cat {} + | sed -e 's/$/\r/' > ~/master.txt