【发布时间】:2012-07-10 22:32:12
【问题描述】:
我从基本文件夹中运行了以下内容。/
find . -name *.xvi.txt | sort
返回以下排序顺序:
./LT/filename.2004167.xvi.txt
./LT/filename.2004247.xvi.txt
./pred/2004186/filename.2004186.xvi.txt
./pred/2004202/filename.2004202.xvi.txt
./pred/2004222/filename.2004222.xvi.txt
如您所见,文件名遵循常规结构,但文件本身可能位于目录结构的不同部分。有没有办法忽略文件夹名称和/或目录结构,以便排序仅根据文件名本身返回文件夹/文件名列表?像这样:
./LT/filename.2004167.xvi.txt
./pred/2004186/filename.2004186.xvi.txt
./pred/2004202/filename.2004202.xvi.txt
./pred/2004222/filename.2004222.xvi.txt
./LT/filename.2004247.xvi.txt
我在 find 和 sort 命令下尝试了几个不同的开关,但没有成功。我总是可以将所有内容复制到一个文件夹并从那里进行排序,但是有数百个文件,我希望存在更优雅的选项。
谢谢!感谢您的帮助。
【问题讨论】:
-
确保在
-name的参数周围加上引号。否则,如果您在基本目录中有任何扩展名为xvi.txt的文件,这将停止工作。 -
我没有意识到我养成了一个坏习惯。干杯!