从Bash中的目录中读取文件名
发布时间:2020-12-15 22:45:05 所属栏目:安全 来源:网络整理
导读:我需要编写一个脚本,从目录中读取所有文件名,然后根据文件名,例如,如果它包含R1或R2,它将连接包含的所有文件名,例如名称中的R1. 任何人都可以给我一些提示如何做到这一点? 我唯一能做的就是: #!/bin/bashFILES="path to the files"for f in $FILESdo cat $
我需要编写一个脚本,从目录中读取所有文件名,然后根据文件名,例如,如果它包含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. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |