gpt4 book ai didi

bash - 每个日期创建一个文件,仅包含与该日期对应的文件名

转载 作者:行者123 更新时间:2023-11-29 09:49:58 25 4
gpt4 key购买 nike

给定一个包含文件名列表(带有文件路径)的文件,例如:

input.txt (contents):
/2018/06/01/abc.txt
/2018/06/01/xyz.txt
/2018/06/02/abc.txt
/2018/06/02/xyz.txt
/2018/06/03/xyz.txt
/2018/06/03/abc.txt
/2018/06/01/ghi.txt

…必须为每个日期创建一个文件,其中只有与该日期对应的文件名(全部使用标准的 Unix 命令)例如,预期输出:

cat 2018-06-01.txt =>
/2018/06/01/abc.txt
/2018/06/01/xyz.txt
/2018/06/01/ghi.txt

cat 2018-06-02.txt =>
/2018/06/02/abc.txt
/2018/06/02/xyz.txt

所有其他日期也是如此。

最佳答案

使用 awk:

$ awk '
{
split($0,a,/[/.]/) # split record on chars ./
f=a[2] "-" a[3] "-" a[4] ".txt" # make filename
print >> f # print (appending) to file
close(f) # close the file to preserve fds
}' input.txt

创建的文件:

$ ls
2018-06-01.txt
2018-06-02.txt
2018-06-03.txt

一个文件内容:

$ cat 2018-06-01.txt
/2018/06/01/abc.txt
/2018/06/01/xyz.txt
/2018/06/01/ghi.txt

注意没有错误检查。

关于bash - 每个日期创建一个文件,仅包含与该日期对应的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54400465/

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