Linux 从文件名中提取路径
需要复制超过100.000个文件的列表(没有.ABC和.DEF扩展名!)。 目前,我正在使用/opt/project/目录中的while和find命令生成完整路径,以便稍后复制它们Linux 从文件名中提取路径,linux,bash,shell,awk,sed,Linux,Bash,Shell,Awk,Sed,需要复制超过100.000个文件的列表(没有.ABC和.DEF扩展名!)。 目前,我正在使用/opt/project/目录中的while和find命令生成完整路径,以便稍后复制它们 while read LINE; do find opt/project/TOP3RST_0_/ -name "$LINE"*; done < < TOP3RST_0_file.list > PATH_TOP3RST_0_file.list 最后,我需要计算时间间隔: 英国广
while read LINE; do find opt/project/TOP3RST_0_/ -name "$LINE"*; done < < TOP3RST_0_file.list > PATH_TOP3RST_0_file.list
最后,我需要计算时间间隔:
英国广播公司排名第三的第一名第0名第20200716T003457名第20100716T04736名第0002名
20200716T003457=2020-07-16 00:34:57
20200716T004736=2020-07-16 00:47:36
我认为这样的东西可以计算差距?下面的
sed
行可以让您开始:
$ sed 's@.*__\([0-9]\{4\}\)\([0-9]\{2\}\)\([0-9]\{2\}\).*@/opt/project/TOP3RST_0_/\1/\2/\3/&/&@; s/.*/&.ABC\n&.DEF/' <<<'BT_SUPR_TOP3RST_0__20200716T004902_20200716T005113_0002'
/opt/project/TOP3RST_0_/2020/07/16/BT_SUPR_TOP3RST_0__20200716T004902_20200716T005113_0002/BT_SUPR_TOP3RST_0__20200716T004902_20200716T005113_0002.ABC
/opt/project/TOP3RST_0_/2020/07/16/BT_SUPR_TOP3RST_0__20200716T004902_20200716T005113_0002/BT_SUPR_TOP3RST_0__20200716T004902_20200716T005113_0002.DEF
$sed's@.*__\([0-9]\{4\}\([0-9]\{2\}\)\([0-9]\{2\}\).@/opt/project/TOP3RST\u 0\/\1/\2/\3/&@;s/*/&.ABC\n&.DEF/'Tl;医生,请。样本数据是什么,预期输出是什么?你把我弄丢了,你读过了吗?我也输了。总是试图简化/缩小问题我有这个权利吗?您的进程被赋予了一个文件名,并且只有一个文件名。您不知道该文件在哪里,但完整路径编码在文件名中。所以你必须解析文件名来找出它的位置?解析太慢了?但是创建该文件的过程必须知道它在哪里?但是只传递文件名?更改创建过程以传递整个路径。这样,文件名就不必重复包含在路径中的信息——这是无用的冗余。这真的很难读取。你能更详细地描述一下你的问题吗?你从哪里读路径?是文本文件吗?您还可以提供完整的代码片段吗?“$LINE”*
很奇怪,您需要“$LINE*”
<代码>此过程将缓慢进行
确实如此-您正在运行查找
100000次。。。运行一个find
将显示所有-name-o-name othername-o-name anothername等
<代码>但我需要完整路径来定位为什么?只需添加“$PWD/
以查找参数。无论如何,你是从复制一些文件开始的。然后您发布了一些find
执行命令行。然后,您发布了一些需要添加后缀和前缀的行。都有关系吗?您想加快查找或创建扩展名为.ABC
.DEF
的列表的速度吗?
$ sed 's@.*__\([0-9]\{4\}\)\([0-9]\{2\}\)\([0-9]\{2\}\).*@/opt/project/TOP3RST_0_/\1/\2/\3/&/&@; s/.*/&.ABC\n&.DEF/' <<<'BT_SUPR_TOP3RST_0__20200716T004902_20200716T005113_0002'
/opt/project/TOP3RST_0_/2020/07/16/BT_SUPR_TOP3RST_0__20200716T004902_20200716T005113_0002/BT_SUPR_TOP3RST_0__20200716T004902_20200716T005113_0002.ABC
/opt/project/TOP3RST_0_/2020/07/16/BT_SUPR_TOP3RST_0__20200716T004902_20200716T005113_0002/BT_SUPR_TOP3RST_0__20200716T004902_20200716T005113_0002.DEF