yuw*_*ang 2 linux bash awk cut sed
我在下面的表格中有一些行:
-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
Run Code Online (Sandbox Code Playgroud)
我如何获得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
Run Code Online (Sandbox Code Playgroud)
要么:
$ 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
Run Code Online (Sandbox Code Playgroud)
特别是YYYY-mm-dd
在它之后获得一行中的数字.
您在当前目录中获取文件大小的命令是
$ stat -c %s *
Run Code Online (Sandbox Code Playgroud)
你不希望使用bash
,awk
或者cut
这样做,你的问题是一个很大的原因是在第一线这将是第四列,并在第二个它的三分之一.不建议解析输出ls
!
编辑:
由于列数gaurenteed我会使用grep
与积极前瞻:
$ tar jtvf zip64support.tar.bz2|grep -Po '[0-9]+(?= [0-9]{4}-[0-9]{2}-[0-9]{2})'
16195018
14417258
Run Code Online (Sandbox Code Playgroud)