小编con*_*ipo的帖子

将 awk 与 find -exec 一起使用

我有一个包含 14 个目录的目录结构,其中包含一堆包含三列格式数据的文件(用制表符分隔)。我打算使用 find 和 awk 从每个文件中提取第二列,并使用相同的文件名但在不同的根文件夹下输出它。这是我的目录的草图。

data/all -> AA, AB, AC, AD ...(A* 是包含以 3 列格式存储数据的文件的文件夹,例如 AA100.txt、AA101.txt ...)

我希望修改后的(一列)文件具有相同的名称,但都在一个新的根目录下 data/pos(而不是 data/all/)-> AA、AB、AC、AD ...(再次, 每个包含 A*100.txt, A*101...)

我的尝试是使用 find -exec 并为其提供 awk 命令,但是我在将文件输出到正确的位置时遇到了问题。

当在数据/全部/

find * -type f -exec awk '{print$2}' '{}' > ../pos/'{}' \;

但是 {} 作为输入文件的通配符在输出文件时似乎不起作用?

我究竟做错了什么?(顺便说一句,我在 ubuntu 服务器上)

unix awk find

5
推荐指数
2
解决办法
2万
查看次数

标签 统计

awk ×1

find ×1

unix ×1