说在我得到的给定目录中
tzury@x200:~/Desktop/sandBox$ls -l total 20 drwxr-xr-x 2 tzury tzury 4096 2011-03-09 10:19 N00.P000 drwxr-xr-x 2 tzury tzury 4096 2011-03-09 10:19 N00.P001 drwxr-xr-x 2 tzury tzury 4096 2011-03-09 10:19 N00.P002 drwxr-xr-x 2 tzury tzury 4096 2011-03-09 10:19 N00.P003 drwxr-xr-x 2 tzury tzury 4096 2011-03-09 10:19 N00.P004 drwxr-xr-x 2 tzury tzury 4096 2011-03-09 10:19 N01.P000 drwxr-xr-x 2 tzury tzury 4096 2011-03-09 10:19 N01.P001 drwxr-xr-x 2 tzury tzury 4096 2011-03-09 10:19 N01.P002
我寻求一种bash方式来获取其名称比给定参数更大或更小的文件列表,例如:
$my_finder lt N00.P003
应返回N00.P000,N00.P001和N00.P002
$my_finder gt N00.P003
应返回N00.P004,N01.P000,N01.P001和N01.P002
我想在$(ls)和$name!= $2中迭代名称,但相信有更优雅的方式这样做
永远不要迭代ls输出!
这是我的建议:
for fn in *; do test "$fn" -$1 "$2" && echo "$fn"; done
编辑:
抱歉.仅当$fn和$2为数字时,上述方法才有效.你必须用$op替换$1,并在循环前添加一个选择器. OP = “<”或op =“>”取决于$1,分别是lt或gt.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。