Make:使用 cat 将文件与换行符合并
Make: Use cat to merge files with linefeed
我正在为一些用 Markdown 编写的个人文档编写一个 makefile,并希望在构建时将所有文件合并在一起,这样我就不必在每次添加新文件时都编辑 Makefile。这是我的代码:
MERGE:
@printf "Merging all files into one...\n"
@cp .yaml tmp
@for file in *.md;\
do\
cat $$file;\
echo "";\
done > tmp
@mv tmp tmp.md
唉,每当我 运行 它,make
returns 这和冻结:
Merging all files into one...
cat: 0: No such file or directory
我读到我可能正在调用 cat
作为文件?但是我使用了正确的 for
语法并将 $
转义为 $$
.
那我做错了什么?
您可以尝试以下循环:
for file in *.md; do
cat "$file"
echo ""
done >> tmp.md
我正在为一些用 Markdown 编写的个人文档编写一个 makefile,并希望在构建时将所有文件合并在一起,这样我就不必在每次添加新文件时都编辑 Makefile。这是我的代码:
MERGE:
@printf "Merging all files into one...\n"
@cp .yaml tmp
@for file in *.md;\
do\
cat $$file;\
echo "";\
done > tmp
@mv tmp tmp.md
唉,每当我 运行 它,make
returns 这和冻结:
Merging all files into one...
cat: 0: No such file or directory
我读到我可能正在调用 cat
作为文件?但是我使用了正确的 for
语法并将 $
转义为 $$
.
那我做错了什么?
您可以尝试以下循环:
for file in *.md; do
cat "$file"
echo ""
done >> tmp.md