bash - 在bash脚本中连接文件cat的字符串
问题描述
我正在从https://unix.stackexchange.com/questions/494143/recursive-shell-script-to-list-files修改这个递归目录爬取脚本
我的计划只是在我的目录中连接文本文件的输出字符串
就像:content+= content + cat file.txt,我觉得我所拥有的并不太远,但现在输出是空白的,我想我误解了如何将 cat 函数与字符串 concat 部分分开
我尝试使用 less 而不是 cat 但这会产生相同的结果我正在关注下面的链接但没有一个示例似乎为我产生输出 如何在 Bash 中连接字符串变量
#! /bin/bash
echo "starting script"
content="start =>"
walk_dir () {
shopt -s nullglob dotglob
for pathname in "$1"/*; do
if [ -d "$pathname" ]; then
walk_dir "$pathname"
else
case "$pathname" in
*.txt|*.doc)
#printf '%s\n' "$pathname"
content+=(cat "$pathname") #add file contents to the previous string
esac
fi
done
echo "$content"
}
DIR=/c/Users/xxxx/Desktop/xxxx
walk_dir "$DIR"
bash 脚本很新,但是
解决方案
快速浏览一下-我认为您在 concat 中缺少 $ 符号。
content+=$(cat "$pathname")
或者,您可以使用反引号而不是不带 $ 的括号。
推荐阅读
- mysql - 我怎样才能对 SQL 数据库进行这个复杂的查询
- google-apps-script - 如何从另一个组 appscript webapp 发送电子邮件
- sql - Redshift - 限制对视图定义中使用的引用对象的访问
- loops - If-Then 语句在 Sub 和 Calling Procedure 之间循环
- edgeengine - 无法模拟智能汽车用例解决方案
- c# - 奇怪的场景 Convert.ToChar(integer) or (char)integer
- python - 嵌套的 JSON 和 Pandas
- cloud-foundry - 如何使用 SMB 在 PCF 中检索堆转储
- javascript - 多维数组构造问题
- angular - Angular 项目不适用于 @babylonjs/viewer