gpt4 book ai didi

linux - 将所有文件附加到 unix 中的一个文件中,并使用第一个和最后一个文件名的一部分重命名输出文件

转载 作者:太空宇宙 更新时间:2023-11-04 03:44:25 25 4
gpt4 key购买 nike

例如,我有 2015 年 2 月 16 日至 20 日的以下日志文​​件。现在我想创建一个名为 mainentrywatcherReport_2015-02-16_2015-02-20.log 的文件。换句话说,我想从一周(周一至周五)的第一个和最后一个文件中提取日期格式,并每周六创建一个输出文件。我将使用 cron 每周六触发脚本。

$ ls -l
mainentrywatcher_2015-02-16.log
mainentrywatcher_2015-02-17.log
mainentrywatcher_2015-02-18.log
mainentrywatcher_2015-02-19.log
mainentrywatcher_2015-02-20.log

$ cat *.log >> mainentrywatcherReport_2015-02-16_2015-02-20.log
$ mv *.log archive/

任何人都可以帮忙解决如何将输出文件重命名为上述格式吗?

最佳答案

也许试试这个:

parta=`ls -l | head -n1 | cut -d'_' -f2 | cut -d'.' -f1`
partb=`ls -l | head -n5 | cut -d'_' -f2 | cut -d'.' -f1`
filename=mainentrywatcherReport_${parta}_${partb}.log
cat *.log >> ${filename}
  • 问题中描述了“ls -l”输出
  • “head -nX”获取输出的第 X 行
  • “cut -d'_' -f2”获取第一个下划线之后的所有内容(剩余的)
  • “剪切-d”。' -f1"乘以第一个句点之前的所有内容(剩余的)
  • 这两个命令都被 ` 标记包围(波浪号 ~ 上方),以将命令的输出捕获到变量
  • 文件名将两个日期组合在一起,去掉不必要的内容,并使用最终文件名所需的其他格式。
  • cat 命令演示了使用生成的文件名的一种可能方法

编码愉快!如果您有任何疑问,请发表评论。

关于linux - 将所有文件附加到 unix 中的一个文件中,并使用第一个和最后一个文件名的一部分重命名输出文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28680330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com