我在下面的表格中有一些行:
-rw-r--r-- sten/sefan anonymous 8593 2011-12-05 18:28 8M
-rw-r--r-- sten/sefan 8593 2011-12-05 18:28 8M
如何获得8593
单行?
通过执行一些dry-run
档案来检索这些行,例如:
$ tar jtvf zip64support.tar.bz2
-rw-r--r-- stefan.bodewig/Domain Users 16195018 2011-10-14 21:05 100k_Files.zip
-rw-r--r-- stefan.bodewig/Domain Users 14417258 2011-10-14 21:05 100k_Files_7ZIP.zip
或:
$ tar jtvf bla.tar.bz2
-rw-r--r-- tcurdt/tcurdt 610 2007-11-14 18:19 test1.xml
-rw-r--r-- tcurdt/tcurdt 82 2007-11-14 18:19 test2.xml
具体来说,在它后面加上YYYY-mm-dd
的数字。
答案 0 :(得分:7)
您在当前目录中获取文件大小的命令是
$ stat -c %s *
你不想要使用bash
,awk
或cut
来做这件事,你的问题是一个很好的理由,因为在第一行它将是第四列,在第二列,它是第三列。解析ls
is not recommended!
修改强>
由于该列号是gaurenteed,我会grep
使用positive lookahead:
$ tar jtvf zip64support.tar.bz2|grep -Po '[0-9]+(?= [0-9]{4}-[0-9]{2}-[0-9]{2})'
16195018
14417258
答案 1 :(得分:2)
尝试一下:
tar jtvf bla.tar.bz2|awk '$0=$3'
你提到的问题
将数字加到YYYY-mm-dd后面的行中。
如果你真的想用grep做的话:
tar ... |grep -oP '\d+(?= \d{4}-)'