【发布时间】:2021-06-25 17:47:27
【问题描述】:
到目前为止我已经尝试过
extension=$(find /home/path-to-dir -type f -name '*.*' | sed 's/^.*\.//' | sort -u)
它在. 之后给了我扩展名,但text.data.json 失败了(我只需要json)
类似的例子stack/~.hello.py(我只需要py)
我也在尝试查找文件的创建日期?有可能吗?
【问题讨论】:
-
对一个问题只有一个问题,请 - 创建日期应单独询问(答案取决于您使用的文件系统,但通常答案是否定的,这是不可能的——典型的 UNIX 文件系统只存储最后修改时间)。
-
除此之外...一般来说,使用字符串变量来存储事物列表并不是一个好主意——列表应该存储在数组中。这样你就可以询问数组中有多少东西,按数字引用它们等等。
-
我很惊讶,但是,您当前的正则表达式 没有 一直剥离到最后。它们默认是贪婪的,
sed没有提供关闭它的方法——如果你运行echo 'foo.bar.baz' | sed 's/^.*\.//',你只会得到baz,而不是bar.baz。你能提供一个minimal reproducible example 让其他人看到你的问题吗? -
可以使用:
for i in *;do [[ -f $i ]] && echo ${i##*.};done|sort -u