bash – 将`split`实用程序的输出发送到stdout
发布时间:2020-12-15 21:19:14 所属栏目:安全 来源:网络整理
导读:从 this question开始,我找到了split utilty,它接受一个文件并将其分成均匀大小的块.默认情况下,它将这些块输出到新文件,但我想将它输出到stdout,由换行符(或任意分隔符)分隔.这可能吗? 我试过cat testfile.txt | split -b 128 – / dev / stdout 错误拆分
从
this question开始,我找到了split utilty,它接受一个文件并将其分成均匀大小的块.默认情况下,它将这些块输出到新文件,但我想将它输出到stdout,由换行符(或任意分隔符)分隔.这可能吗?
我试过cat testfile.txt | split -b 128 – / dev / stdout 错误拆分失败:/ dev / stdoutaa:权限被拒绝. 看一下帮助文本,似乎这告诉split使用/ dev / stdout作为文件名的前缀,而不是写入/ dev / stdout本身.它不表示使用分隔符直接写入单个文件的任何选项.有没有办法可以欺骗分裂成这样做,还是有不同的实用工具来完成我想要的行为? 解决方法
目前尚不清楚你想要做什么,但也许–filter选项拆分会有所帮助:
--filter=COMMAND write to shell COMMAND; file name is $FILE 也许你可以直接使用它.例如,这将一次读取10个字节的文件,通过tr命令传递每个块: split -b 10 --filter "tr [:lower:] [:upper:]" afile 如果你真的想在stdout上发出一个在块之间有分隔符的流,你可以这样做: split -b 10 --filter 'dd 2> /dev/null; echo ---sep---' afile 如果afile是我当前目录中的文件,如下所示: the quick brown fox jumped over the lazy dog. 然后上面的命令将导致: the quick ---sep--- brown fox ---sep--- jumped ove---sep--- r the lazy---sep--- dog. ---sep--- (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |