我有一行:
find -maxdepth 1 -type f -iname '*key*' -not -name '*~'
我想提取返回的所有文件的内容(应该是文本),并将其传送到
sort
以按字母顺序排序。我尝试将上述行的输出直接传递到sort
中,但这导致文件名被排序而不是其内容。我需要将find
的输出转换为数组,然后由sort
处理吗?[编辑]我想要的输出是排序后的内容。
最佳答案
为了完整起见,这里有一些其他方法可以这样做:
find -maxdepth 1 -type f -iname '*key*' -not -name '*~' -exec cat {} \; | sort
find -maxdepth 1 -type f -iname '*key*' -not -name '*~' | xargs cat | sort
cat $(find -maxdepth 1 -type f -iname '*key*' -not -name '*~') | sort
关于bash - Bash:按内容对 'find'中的文件进行排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18158365/