如何在Unix中根据列名移动文件?

时间:2017-04-11 12:30:50

标签: bash unix sh

我的IN文件夹中有500个.xls文件。在该文件夹中,我有两组不同的文件。 对于(例如)某些文件具有一个提取列"包名称",其他文件不会有。 所以现在我想用"包装名称"列文件通过unix进入某个单独的文件夹。谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用Perl模块Spreadsheet::Read来解析电子表格。在Ubuntu上,您必须使用。

安装模块
user.get('name')

以下代码是电子表格的一个非常简单的grep:

apt-get install libspreadsheet-read-perl

如果搜索字符串位于电子表格的第一行,则程序返回0,否则返回1.

我已使用以下电子表格进行测试。

Example spreadsheet

使用上述程序,您可以遍历文件。

#! /usr/bin/perl
use strict;
use warnings;
use Spreadsheet::Read;

my $book = ReadData ($ARGV[1]);
my @row = Spreadsheet::Read::row ($book->[1], 1);

for my $cel (@row)
{
  exit 0 if $cel eq $ARGV[0];
}
exit 1;