我有一堆.csv格式的温度记录器数据文件。专有的temp-logger软件使用奇怪的无用名称保存它们。我想按序列号(S / N)命名文件。可以在每个文件中找到S / N(在几个地方)。
因此,我需要提取S / N并将文件名更改为{S / N} .csv。
我几乎就在那里,但无法弄清楚如何获得" .csv"文件扩展名到最后。
这是我的代码:
sub robust_accept {
my $server = shift;
for (;;) {
my $client = $server->accept();
return $client if $client;
warn "syserror: $!" if !$!{EINTR};
}
}
while (my $client = robust_accept($server)) {
...
}
注意" cut"和#34;头"命令是从正则表达式返回中获取S / N编号所必需的,并且只需要一个(在文件中多次列出S / N)。
如果有人有更优雅的解决方案,我很乐意看到它。我真正需要的只是得到那个" .csv"到我的新文件名的末尾。
谢谢!
答案 0 :(得分:1)
您可以使用xargs
执行此操作,但跳过它并直接致电mv
更为简单。 (无论如何,您每次调用只会重命名一个文件。)
xargs