linux - 重用目录中的文件名

标签 linux bash shell

我想在创建新文件时重用特定目录中的文件夹名称。像这样的东西:

cat /home/sss/features/{month}/file-* > /home/sss/features_{month}.txt

我将在此命令中将 {month} 替换为 * 。月份可以是任意 12 个月,并且并非所有月份都始终存在。最终结果应该是每个月的串联文件:

/home/sss/features_JAN_2012.txt
/home/sss/features_MAR_2012.txt
/home/sss/features_NOV_2012.txt

是否可以在Linux中以某种方式做到这一点?

最佳答案

怎么了

for dirname in features/*
do 
    month="$(basename "$dirname")"
    cat "$dirname"/file-* > "features-$month-2012.txt"
done

关于linux - 重用目录中的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14048645/

相关文章:

linux - 如何开始为 Elementary OS 编程?

regex - 如何在 AWK 中使用正则表达式作为字段分隔符?

linux - 如何在 linux 中通过脚本间接访问文件

linux - 我们能否将多次出现的字符串的行号捕获到变量中(仅最后一次出现)

arrays - 在 bash v.3 中迭代数组

linux - 在手册页中使用 <> 来指示可选的空格

代码在 macOS 上逻辑上有效,但在 Ubuntu 16.04.5 上无效

linux - 如何更改 perf sched 记录中的输入文件名

Bash:如果存在,如何复制目录的文件

bash - 如何使用 shell 脚本和 'xrandr' linux 命令打开/关闭屏幕监视器?