提取bash或尴尬的列

  • 本文关键字:bash 提取 bash awk
  • 更新时间 :
  • 英文 :


我有一个带有1000个文本文件的文件夹。我想从每个文件中提取第四和第五列,并将其保存到具有相同文件名的另一个文件夹中。我该如何使用awkBash

由于您尚未指定有关字段分离器的指定,因此我假设是默认(空格)字段分隔符。

awk '{print $4,$5>"/tmp/another_directory/"FILENAME}' *

带有gnu find和gnu sed,假设空间分离的列和要处理的文件在当前目录中:

mkdir tmp/
find . -maxdepth 1 -type f -print0 |
  xargs -0 -l /bin/sh -c 'sed -r "s/([^ ] *){3}([^ ]) *([^ ]*).*/2 3/" "$1" > "tmp/$1"' ''

请注意,最后一对单引号很重要,它们是占位符,因此文件名正确传递给sh。处理的文件保存在当前目录中的tmp/中。

相关内容

  • 没有找到相关文章

最新更新