小编Faj*_*ond的帖子

提取具有匹配文件名的完整路径

我有一个文本文件,其中包含来自硬盘驱动器的文件的完整路径列表。这可以是千行,但这里是我的volume_content.txt文件示例:

/Volumes/NEW TVC/20200901/CAM_A/VID_A002C001.mov
/Volumes/NEW TVC/20200901/CAM_A/VID_A002C003.mov
/Volumes/NEW TVC/20200901/CAM_A/VID_A003C003.mov
/Volumes/NEW TVC/20200901/CAM_B/CARD01/20200905/TVC.mov
Run Code Online (Sandbox Code Playgroud)

假设我在里面有搜索关键字footages.txt,但这些关键字应该只指文件名:

A002
TVC
Run Code Online (Sandbox Code Playgroud)

如果我使用

footage=$(cat footages.txt)
cat volume_content.txt | grep "${footage}"
Run Code Online (Sandbox Code Playgroud)

它最终会收集 my 的全部内容volume_content.txt,因为每一行都有图案TVC

我设法提取了正确的行,通过使用grep两次对其进行排序,使用:

footage=$(cat footages.txt)
cat volume_content.txt | sed 's!.*/!!' | grep "${footage}" > footage_filename.txt
footage_filename=$(cat footage_filename.txt)
cat volume_content.txt | grep "${footage_filename}" > all_footages.txt
Run Code Online (Sandbox Code Playgroud)

这就是结果,这就是我想要的:

/Volumes/NEW TVC/20200901/CAM_A/VID_A002C001.mov
/Volumes/NEW TVC/20200901/CAM_A/VID_A002C003.mov
/Volumes/NEW TVC/20200901/CAM_B/CARD01/20200905/TVC.mov
Run Code Online (Sandbox Code Playgroud)

有没有简单的方法(可能是一个班轮)来实现这一目标?

bash text-processing macos

3
推荐指数
1
解决办法
68
查看次数

标签 统计

bash ×1

macos ×1

text-processing ×1