我需要编写一个脚本来读取目录中的所有文件名,然后根据文件名,例如,如果它包含R1或R2,它将连接包含的所有文件名,例如R1中的名。
有人可以给我一些提示吗?
我唯一能做的就是:
#!/bin/bash
FILES="path to the files"
for f in $FILES
do
cat $f
done
这只显示变量FILE是一个目录而不是它拥有的文件。
答案 0 :(得分:11)
进行修复问题的最小更改:
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。
答案 1 :(得分:0)
简单的黑客攻击:
ls -al R1 | awk' {print $ 9}' > outputfilenameR1
ls -al R2 | awk' {print $ 9}' > outputfilenameR2