我有一个目录,其中一些进程生成每日报告。
看起来像:
[root@test raportdaily]$ ls -l
razem 538332
-rwxrwxr--+ 1 raport raport 541526 02-17 06:06 REPORT-SYSTEM_2014-02-17_060623.csv
-rwxrwxr--+ 1 raport raport 542718 02-18 06:22 REPORT-SYSTEM_2014-02-18_062229.csv
-rwxrwxr--+ 1 raport raport 542886 02-19 06:28 REPORT-SYSTEM_2014-02-19_062826.csv
我无法处理的事情是,文件名称的最后6位数字格式为HourMinuteSecond
,每天都不同。
我想创建一个shell script
,它可以加载此文件(我需要知道名称)并更改它character set
。
如果我知道这个文件的确切名称,我可以直接访问它:
#!/bin/sh
iconv -c --from=utf8 --to=utf8 /home/raport/REPORT-SYSTEM_2014-02-19_062826.csv
如何使用如下所示的正则表达式:
REPORT-SYSTEM_2014-02-19_.*.csv
要在regex
函数中使用此iconv
的匹配项吗?
答案 0 :(得分:1)
你可以用grep轻松完成:
FILE=`ls /home/raport/ | grep "REPORT-SYSTEM_2014-02-19_.*.csv"`
iconv -c --from=utf8 --to=utf8 $FILE
记下第一行中使用的反引号。