参见英文答案 >
linux shell file size6个
基本上我从ls -la命令得到一行:
基本上我从ls -la命令得到一行:
-rw-r--r-- 13 ondrejodchazel staff 442 Dec 10 16:23 some_file
并希望获得文件大小(442).我尝试过cut和sed命令,但是没有用.使用基本的UNIX工具(cut,sed,awk …),如何从stdin获取特定列,其中分隔符是/ / regexp?
如果你想用切割来做,你需要先挤压空间(tr -s”),因为切割不支持.这应该工作:
ls -la | tr -s ' ' | cut -d' ' -f 5
使用sed(GNU sed)执行此操作时需要更多工作:
ls -la | sed -r 's/([^ ]+ +){4}([^ ]+).*/\2/'
如果你使用grep替代(GNU grep),稍微多一点手指打孔:
ls -la | grep -Eo '[^ ]+( +[^ ]+){4}' | grep -Eo '[^ ]+$'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。