因此,我的存档管理器似乎在提取 tar.xz 文件时没有保留目录层次结构。现在我的下载文件夹很乱,里面全是错位的文件。
我想删除那些存档中的文件,并且只删除那些文件。为此,我尝试匹配输出中每个文件路径的结尾tar tf file.tar.xz
并删除相关文件。
例如如果输入是:
tor-browser_en-US/Browser/firefox
tor-browser_en-US/Browser/firefox.real
tor-browser_en-US/Browser/fonts/
tor-browser_en-US/Browser/fonts/Arimo-Bold.ttf
我想要的输出是:
firefox
firefox.real
Arimo-Bold.ttf
这样我就可以删除它们。
我一直试图实现这一点,sed 's/.*\/([^\/]+)$/\1/'
但出现了错误sed: -e expression #1, char 19: invalid reference \1 on 's' command's RHS
,我不知道还能尝试什么。
答案1
sed '/\/$/d; s|.*/||'
/\/$/d
删除所有以/
.结尾的行s|.*/||
,删除最后一行/
(如果有)和其/
本身之前的所有内容。