linux - 根据 shell 中的文件输出创建文件名

标签 linux bash

我正在寻找根据前一个命令的命令输出创建名称的文件,即如果我运行

find . -name *.mp4 | wc -l > filename

这样输出该类型文件的数量就是创建文件的文件名。

最佳答案

这是一个在创建文件后重命名文件的解决方案:

find . -name *.mp4 | wc -l > filename && mv filename `tail -n 1 filename`

这一行发生了什么:

找到 . -名称 *mp4 | wc -l > filename :查找带有 mp4 后缀的文件,然后计算找到的文件数量并将输出重定向到名为 filename

的文件

tail -n 1 filename:输出名为filename 的文件的最后一行。如果您在它周围加上反引号 (`tail -n 1 filename`),那么该语句将被执行并替换为它返回的文本。

mv filename `tail -n 1 filename`:将名为filename的原始文件重命名为上面执行的语句。

当您将它们与 && 组合时,第二个语句仅在第一个语句成功时运行。

关于linux - 根据 shell 中的文件输出创建文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57438253/

相关文章:

linux - dmesg 中的 systemd 服务描述

javascript - 从 JS 重定向链接下载 pdf

java - 将带空格的字符串传递给 Java 中的执行命令以执行 bash 脚本

linux - 从 ifconfig 获取特定 IP 的最短方法

linux - 如何在 Digital Ocean 上的 Ubuntu 14.04 上编辑 "services"?

linux - Bash - 使用 sed 更改配置文件

linux - 如何在 Linux 中打开一个程序的多个实例

Python过滤和保存

arrays - 与数组并行馈送 GNU?

linux - Makefile 'ifneq' 语法错误,Broadcom BCM43142