说我有3个archrive文件:
a.7z b.7z c.7z
我想要的是找到最后修改过的archrive文件,然后将其解压缩
1st:找到最后修改的
第二名:摘录
第一:
ls -t | head -1
我的问题是如何使用" |"在第一个命令结束时
答案 0 :(得分:2)
你可以这样做:
7z e `ls -t | head -1`
使用``嵌入第一个命令。
答案 1 :(得分:2)
您可以使用以下代码在一行中一起编写多个命令。
用于提取.7z文件的 ls -t | head -1 && 7z e <file_name>.tar.7z
命令
答案 2 :(得分:0)
这是一种在目录中提取最后修改过的文件的更安全的方法:
find . -maxdepth 1 -type f -printf "%T@\0%p\0\0" |
awk -F '\0' -v RS='\0\0' '$1 > maxt{maxt=$1; maxf=$2} END{printf "%s%s", maxf, FS}' |
xargs -0 7z e
这需要gnu find和gnu awk。
-printf
选项使用单个NUL字符或\0'
作为字段分隔符,使用2个NUL字符\0\0
作为awk
的记录分隔符。