我正在尝试只获取文件名中的日期部分。例如:
abc-xyz20140417.tar
abc-20120420.tar
abc-efghi19800815.tar
需要输出:
20140417
20120420
19800815
答案 0 :(得分:0)
如果文件名中的数字字符只是您需要的日期,那么这是一个例子:
root@localhost:~[0]$ ls -1 abc-*
abc-20120420.tar
abc-efghi19800815.tar
abc-xyz20140417.tar
root@localhost:~[0]$ ls -1 abc-* | sed 's/[^0-9]//g'
20120420
19800815
20140417
希望它有所帮助。
答案 1 :(得分:0)
假设日期始终是" .tar"之前的最后8个字符,这适用于任何操作系统上的任何sed:
$ sed 's/.*\(........\).tar$/\1/' file
20140417
20120420
19800815