我想制作一个报告,它是几个.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文件。
提前致谢。
答案 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