Linux CP 使用 AWK 输出

标签 linux bash awk cp

我一直在努力学习更多关于 Linux 的知识,并且今天上午一直在专注于 awk 命令。我一直试图开始工作的命令如下。

ls -lRt lpftp.* | awk '{print $7, $9}' | mkdir -p $(awk '{print $1}') | ls -lRt lpftp.* | cp $(awk '{print $9, $7}')

本质上,我试图根据该文件的最后修改日期将目录中的每个文件移动到子目录中。该命令首先只打印我想要的文件,然后使用 mkdir 根据上次修改的日期创建一个文件夹。之后我想做的是将每个文件移动到其关联的目录中,但是现在的命令是将每个文件移动到 01 文件夹中并打印出以下文本

cp: 0653-436  12 is a directory.
    Specify -r or -R to copy.

每个目录一次。

有谁知道我该如何解决这个问题?或者是否有更好的方法?

最佳答案

ls -lRt lpftp.* | awk '{print $7, $9}' |在阅读日文件时;执行 mkdir -p "$day"; cp "$file""$day";完成

dodone 之间的命令将针对每一行输出执行,第一件事是 awk 中打印day 变量和 file 中的第二个(每行)。我在这里使用引号有些不必要,因为在给定变量设置方法的情况下,变量中不会有空格。

关于Linux CP 使用 AWK 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40595908/

相关文章:

linux - 使用 shell 遍历文件

c - 缓冲区溢出内存映射解释

regex - bash 使用正则表达式查找不区分大小写

linux - 如何使用 linux 命令从另一个文件创建一个只包含小写字母的新文件?

linux - 在linux中分析时间跟踪数据

regex - 使用awk查找包含最长重复单词的域名

linux - 如何使用 linux perf 工具进行代码理解

linux - 我如何将 postinst 脚本与 fakeroot deb 包生成器一起使用

linux - 向 rfcomm 终端发送消息?

mysql - 导入 CSV 换行问题