使用bash连接.txt文件

时间:2017-08-31 12:27:33

标签: linux bash report concatenation

我想制作一个报告,它是几个.txt文件的串联。我写了这个bash代码(〜/ scripts / report.sh)

echo "Display content of files in /etc/ directory"
for file in $(find ~/Research/reports/August/ -name '*.txt' -type f) ;
do
    echo "############START OF FILE#########"
    echo ${file}
    echo " "
    cat ${file}
    echo "##########END OF FILE########"
    echo " "
done

但是我收到了错误:

'home/vdonchev/scripts/report.sh: line 2: syntax error near unexpected token `
'home/vdonchev/scripts/report.sh: line 2: `for file in $(find ~/Research/reports/August/ -name '*.txt' -type f) ;

我不明白什么是错的:当我只打电话时

find ~/Research/reports/August/ -name '*.txt' -type f

它有效并且确实列出了我的.txt文件。

提前致谢。

3 个答案:

答案 0 :(得分:1)

我解决了这个问题。似乎因为我通过Windows打开我的脚本,一些编码受到干扰。

执行

dos2unix ~/scripts/report.sh 

它像魅力一样工作:)

我希望我能正确解释。

答案 1 :(得分:0)

你试过吗

for filename in ~/Research/reports/August/*.txt; do

答案 2 :(得分:0)

对我来说,

#/bin/sh

for file in $(find /path/to/repertory -name "*.txt" -type f)
do
   echo "############START OF FILE#########"
   cat $file
   echo "##########END OF FILE########"
done

做了这个伎俩。然后你应该像这样启动:

 ./script.sh > concat.txt