我正在尝试获取分布在特定文件夹上的文件内容。
find /tmp -name '*.txt'
这给了我:
/tmp/s3400/10.txt
/tmp/s3544/1212.txt
我需要将“s3400”值存储在变量上以运行另一个命令并将日志保存为“/store/logs/s3400.log”
注意:/tmp/s* 下的每个子文件夹只有 1 个 txt 文件。是一个txt文件,存放一些日志。我需要用其他脚本解析该文本。
提前致谢。
试试这个:
find /tmp -type d -regex '/tmp/s[0-9]+' -execdir /path/of/your/parser.sh {}/*.txt -output /storage/logs/$(basename {}).log \;
.首先找到名为“s+Num”的目录 -> find /tmp -type d -regex '/tmp/s[0-9]+' 其次,使用 -execdir 选项,分别使用 {} 替换符号将匹配目录的完整路径传递给相应的命令 -> **-execdir /path/of/your/parser.sh {}/.txt -输出/存储/日志/$(基本名称{}).log;**