加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

file – 如何’切’空?

发布时间:2020-12-16 01:33:28 所属栏目:安全 来源:网络整理
导读:Unix’file’命令有一个-0选项,用于在文件名后输出空字符.据说这对于’cut’来说很有用. 来自man文件: -0,--print0 Output a null character ‘’ after the end of the filename. Nice to cut(1) the output. This does not affect the separator which
Unix’file’命令有一个-0选项,用于在文件名后输出空字符.据说这对于’cut’来说很有用.

来自man文件:

-0,--print0
         Output a null character ‘’ after the end of the filename. Nice
         to cut(1) the output. This does not affect the separator which is
         still printed.

(注意,在我的Linux上,不会打印’-F’分隔符 – 这对我来说更有意义.)

如何使用’cut’从’file’的输出中提取文件名?

这就是我想要做的:

find . "*" -type f | file -n0iNf - | cut -d<null> -f1

其中< null>是NUL角色.

好吧,这就是我想要做的,我想要做的是从目录树中获取具有特定MIME类型的所有文件名.我使用grep(未显示).

我想处理所有合法的文件名,而不是卡在冒号的文件名上,例如,在他们的名字中.因此,NUL会很棒.

我猜非切割解决方案也很好,但我不想放弃一个简单的想法.

只需指定一个空分隔符:
cut -d '' -f1

(注意:-d和”之间的空格很重要,所以-d和空字符串作为单独的参数传递;如果你写-d”,那么它将被传递为-d,并且然后cut会认为你正在尝试使用-f1作为分隔符,它会抱怨,并带有“分隔符必须是单个字符”的错误消息.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读