我需要编写一个脚本,从目录中读取所有文件名,然后根据文件名,例如,如果它包含 R1 或 R2,它将连接所有包含的文件名,例如名称中的 R1。
谁能给我一些如何做到这一点的提示?
我唯一能做的就是:
#!/bin/bash
FILES="path to the files"
for f in $FILES
do
cat $f
done
这仅告诉我变量 FILE 是一个目录而不是它所拥有的文件。
要进行最小的更改来解决问题:
dir="path to the files"
for f in "$dir"/*; do
cat "$f"
done
为了实现您所描述的期望的最终目标:
shopt -s nullglob
dir="path to the files"
substrings=( R1 R2 )
for substring in "${substrings[@]}"; do
cat /dev/null "$dir"/*"$substring"* >"${substring}.out"
done
注意cat
可以在一次调用中获取多个文件——事实上,如果您不这样做,通常根本不需要使用 cat。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)