У меня есть папка с именем img, эта папка имеет много уровней подпапок, все из которых содержат изображения. Я буду импортировать их в сервер изображений.
Обычно изображения (или любые файлы) могут иметь одно и то же имя, если они находятся в другом пути к каталогу или имеют другое расширение. Однако импортируемый ими сервер изображений требует, чтобы все имена изображений были уникальными (даже если расширения отличаются друг от друга).
Например, изображения background.png и background.gif не будут разрешены, потому что, хотя у них разные расширения, они все равно имеют одинаковое имя файла.
Так что мне интересно, могу ли я сделать рекурсивный поиск в папке img, чтобы найти список файлов, которые имеют одно и то же имя (исключая расширение).
Есть ли команда, которая может это сделать?
FSlint - это универсальный дубликат, который включает в себя функцию для поиска повторяющихся имен:
Пакет FSlint для Ubuntu подчеркивает графический интерфейс, но, как объясняется в [d1 ] FSlint интерфейс командной строки доступен через программы в /usr/share/fslint/fslint/. Используйте параметр --help для документации, например :.........d6]
$ /usr/share/fslint/fslint/fslint --help
File system lint.
A collection of utilities to find lint on a filesystem.
To get more info on each utility run 'util --help'.
findup -- find DUPlicate files
findnl -- find Name Lint (problems with filenames)
findu8 -- find filenames with invalid utf8 encoding
findbl -- find Bad Links (various problems with symlinks)
findsn -- find Same Name (problems with clashing names)
finded -- find Empty Directories
findid -- find files with dead user IDs
findns -- find Non Stripped executables
findrs -- find Redundant Whitespace in files
findtf -- find Temporary Files
findul -- find possibly Unused Libraries
zipdir -- Reclaim wasted space in ext2 directory entries
$ /usr/share/fslint/fslint/findsn --help
find (files) with duplicate or conflicting names.
Usage: findsn [-A -c -C] [[-r] [-f] paths(s) ...]
If no arguments are supplied the $PATH is searched for any redundant
or conflicting files.
-A reports all aliases (soft and hard links) to files.
If no path(s) specified then the $PATH is searched.
If only path(s) specified then they are checked for duplicate named
files. You can qualify this with -C to ignore case in this search.
Qualifying with -c is more restictive as only files (or directories)
in the same directory whose names differ only in case are reported.
I.E. -c will flag files & directories that will conflict if transfered
to a case insensitive file system. Note if -c or -C specified and
no path(s) specifed the current directory is assumed.
Пример использования:
$ /usr/share/fslint/fslint/findsn /usr/share/icons/ > icons-with-duplicate-names.txt
$ head icons-with-duplicate-names.txt
-rw-r--r-- 1 root root 683 2011-04-15 10:31 Humanity-Dark/AUTHORS
-rw-r--r-- 1 root root 683 2011-04-15 10:31 Humanity/AUTHORS
-rw-r--r-- 1 root root 17992 2011-04-15 10:31 Humanity-Dark/COPYING
-rw-r--r-- 1 root root 17992 2011-04-15 10:31 Humanity/COPYING
-rw-r--r-- 1 root root 4776 2011-03-29 08:57 Faenza/apps/16/DC++.xpm
-rw-r--r-- 1 root root 3816 2011-03-29 08:57 Faenza/apps/22/DC++.xpm
-rw-r--r-- 1 root root 4008 2011-03-29 08:57 Faenza/apps/24/DC++.xpm
-rw-r--r-- 1 root root 4456 2011-03-29 08:57 Faenza/apps/32/DC++.xpm
-rw-r--r-- 1 root root 7336 2011-03-29 08:57 Faenza/apps/48/DC++.xpm
-rw-r--r-- 1 root root 918 2011-03-29 09:03 Faenza/apps/16/Thunar.png
FSlint - это универсальный дубликат, который включает в себя функцию для поиска повторяющихся имен:
Пакет FSlint для Ubuntu подчеркивает графический интерфейс, но, как объясняется в FSlint интерфейс командной строки доступен через программы в /usr/share/fslint/fslint/. Используйте параметр --help для документации, например :.........d6] $ /usr/share/fslint/fslint/fslint --help
File system lint.
A collection of utilities to find lint on a filesystem.
To get more info on each utility run 'util --help'.
findup -- find DUPlicate files
findnl -- find Name Lint (problems with filenames)
findu8 -- find filenames with invalid utf8 encoding
findbl -- find Bad Links (various problems with symlinks)
findsn -- find Same Name (problems with clashing names)
finded -- find Empty Directories
findid -- find files with dead user IDs
findns -- find Non Stripped executables
findrs -- find Redundant Whitespace in files
findtf -- find Temporary Files
findul -- find possibly Unused Libraries
zipdir -- Reclaim wasted space in ext2 directory entries
$ /usr/share/fslint/fslint/findsn --help
find (files) with duplicate or conflicting names.
Usage: findsn [-A -c -C] [[-r] [-f] paths(s) ...]
If no arguments are supplied the $PATH is searched for any redundant
or conflicting files.
-A reports all aliases (soft and hard links) to files.
If no path(s) specified then the $PATH is searched.
If only path(s) specified then they are checked for duplicate named
files. You can qualify this with -C to ignore case in this search.
Qualifying with -c is more restictive as only files (or directories)
in the same directory whose names differ only in case are reported.
I.E. -c will flag files & directories that will conflict if transfered
to a case insensitive file system. Note if -c or -C specified and
no path(s) specifed the current directory is assumed.
Пример использования:
$ /usr/share/fslint/fslint/findsn /usr/share/icons/ > icons-with-duplicate-names.txt
$ head icons-with-duplicate-names.txt
-rw-r--r-- 1 root root 683 2011-04-15 10:31 Humanity-Dark/AUTHORS
-rw-r--r-- 1 root root 683 2011-04-15 10:31 Humanity/AUTHORS
-rw-r--r-- 1 root root 17992 2011-04-15 10:31 Humanity-Dark/COPYING
-rw-r--r-- 1 root root 17992 2011-04-15 10:31 Humanity/COPYING
-rw-r--r-- 1 root root 4776 2011-03-29 08:57 Faenza/apps/16/DC++.xpm
-rw-r--r-- 1 root root 3816 2011-03-29 08:57 Faenza/apps/22/DC++.xpm
-rw-r--r-- 1 root root 4008 2011-03-29 08:57 Faenza/apps/24/DC++.xpm
-rw-r--r-- 1 root root 4456 2011-03-29 08:57 Faenza/apps/32/DC++.xpm
-rw-r--r-- 1 root root 7336 2011-03-29 08:57 Faenza/apps/48/DC++.xpm
-rw-r--r-- 1 root root 918 2011-03-29 09:03 Faenza/apps/16/Thunar.png
FSlint - это универсальный дубликат, который включает в себя функцию для поиска повторяющихся имен:
Пакет FSlint для Ubuntu подчеркивает графический интерфейс, но, как объясняется в FSlint интерфейс командной строки доступен через программы в /usr/share/fslint/fslint/. Используйте параметр --help для документации, например :.........d6] $ /usr/share/fslint/fslint/fslint --help
File system lint.
A collection of utilities to find lint on a filesystem.
To get more info on each utility run 'util --help'.
findup -- find DUPlicate files
findnl -- find Name Lint (problems with filenames)
findu8 -- find filenames with invalid utf8 encoding
findbl -- find Bad Links (various problems with symlinks)
findsn -- find Same Name (problems with clashing names)
finded -- find Empty Directories
findid -- find files with dead user IDs
findns -- find Non Stripped executables
findrs -- find Redundant Whitespace in files
findtf -- find Temporary Files
findul -- find possibly Unused Libraries
zipdir -- Reclaim wasted space in ext2 directory entries
$ /usr/share/fslint/fslint/findsn --help
find (files) with duplicate or conflicting names.
Usage: findsn [-A -c -C] [[-r] [-f] paths(s) ...]
If no arguments are supplied the $PATH is searched for any redundant
or conflicting files.
-A reports all aliases (soft and hard links) to files.
If no path(s) specified then the $PATH is searched.
If only path(s) specified then they are checked for duplicate named
files. You can qualify this with -C to ignore case in this search.
Qualifying with -c is more restictive as only files (or directories)
in the same directory whose names differ only in case are reported.
I.E. -c will flag files & directories that will conflict if transfered
to a case insensitive file system. Note if -c or -C specified and
no path(s) specifed the current directory is assumed.
Пример использования:
$ /usr/share/fslint/fslint/findsn /usr/share/icons/ > icons-with-duplicate-names.txt
$ head icons-with-duplicate-names.txt
-rw-r--r-- 1 root root 683 2011-04-15 10:31 Humanity-Dark/AUTHORS
-rw-r--r-- 1 root root 683 2011-04-15 10:31 Humanity/AUTHORS
-rw-r--r-- 1 root root 17992 2011-04-15 10:31 Humanity-Dark/COPYING
-rw-r--r-- 1 root root 17992 2011-04-15 10:31 Humanity/COPYING
-rw-r--r-- 1 root root 4776 2011-03-29 08:57 Faenza/apps/16/DC++.xpm
-rw-r--r-- 1 root root 3816 2011-03-29 08:57 Faenza/apps/22/DC++.xpm
-rw-r--r-- 1 root root 4008 2011-03-29 08:57 Faenza/apps/24/DC++.xpm
-rw-r--r-- 1 root root 4456 2011-03-29 08:57 Faenza/apps/32/DC++.xpm
-rw-r--r-- 1 root root 7336 2011-03-29 08:57 Faenza/apps/48/DC++.xpm
-rw-r--r-- 1 root root 918 2011-03-29 09:03 Faenza/apps/16/Thunar.png
FSlint - это универсальный дубликат, который включает в себя функцию для поиска повторяющихся имен:
Пакет FSlint для Ubuntu подчеркивает графический интерфейс, но, как объясняется в FSlint интерфейс командной строки доступен через программы в /usr/share/fslint/fslint/. Используйте параметр --help для документации, например :.........d6] $ /usr/share/fslint/fslint/fslint --help
File system lint.
A collection of utilities to find lint on a filesystem.
To get more info on each utility run 'util --help'.
findup -- find DUPlicate files
findnl -- find Name Lint (problems with filenames)
findu8 -- find filenames with invalid utf8 encoding
findbl -- find Bad Links (various problems with symlinks)
findsn -- find Same Name (problems with clashing names)
finded -- find Empty Directories
findid -- find files with dead user IDs
findns -- find Non Stripped executables
findrs -- find Redundant Whitespace in files
findtf -- find Temporary Files
findul -- find possibly Unused Libraries
zipdir -- Reclaim wasted space in ext2 directory entries
$ /usr/share/fslint/fslint/findsn --help
find (files) with duplicate or conflicting names.
Usage: findsn [-A -c -C] [[-r] [-f] paths(s) ...]
If no arguments are supplied the $PATH is searched for any redundant
or conflicting files.
-A reports all aliases (soft and hard links) to files.
If no path(s) specified then the $PATH is searched.
If only path(s) specified then they are checked for duplicate named
files. You can qualify this with -C to ignore case in this search.
Qualifying with -c is more restictive as only files (or directories)
in the same directory whose names differ only in case are reported.
I.E. -c will flag files & directories that will conflict if transfered
to a case insensitive file system. Note if -c or -C specified and
no path(s) specifed the current directory is assumed.
Пример использования:
$ /usr/share/fslint/fslint/findsn /usr/share/icons/ > icons-with-duplicate-names.txt
$ head icons-with-duplicate-names.txt
-rw-r--r-- 1 root root 683 2011-04-15 10:31 Humanity-Dark/AUTHORS
-rw-r--r-- 1 root root 683 2011-04-15 10:31 Humanity/AUTHORS
-rw-r--r-- 1 root root 17992 2011-04-15 10:31 Humanity-Dark/COPYING
-rw-r--r-- 1 root root 17992 2011-04-15 10:31 Humanity/COPYING
-rw-r--r-- 1 root root 4776 2011-03-29 08:57 Faenza/apps/16/DC++.xpm
-rw-r--r-- 1 root root 3816 2011-03-29 08:57 Faenza/apps/22/DC++.xpm
-rw-r--r-- 1 root root 4008 2011-03-29 08:57 Faenza/apps/24/DC++.xpm
-rw-r--r-- 1 root root 4456 2011-03-29 08:57 Faenza/apps/32/DC++.xpm
-rw-r--r-- 1 root root 7336 2011-03-29 08:57 Faenza/apps/48/DC++.xpm
-rw-r--r-- 1 root root 918 2011-03-29 09:03 Faenza/apps/16/Thunar.png
FSlint - это универсальный дубликат, который включает в себя функцию для поиска повторяющихся имен:
Пакет FSlint для Ubuntu подчеркивает графический интерфейс, но, как объясняется в FSlint интерфейс командной строки доступен через программы в /usr/share/fslint/fslint/. Используйте параметр --help для документации, например :.........d6] $ /usr/share/fslint/fslint/fslint --help
File system lint.
A collection of utilities to find lint on a filesystem.
To get more info on each utility run 'util --help'.
findup -- find DUPlicate files
findnl -- find Name Lint (problems with filenames)
findu8 -- find filenames with invalid utf8 encoding
findbl -- find Bad Links (various problems with symlinks)
findsn -- find Same Name (problems with clashing names)
finded -- find Empty Directories
findid -- find files with dead user IDs
findns -- find Non Stripped executables
findrs -- find Redundant Whitespace in files
findtf -- find Temporary Files
findul -- find possibly Unused Libraries
zipdir -- Reclaim wasted space in ext2 directory entries
$ /usr/share/fslint/fslint/findsn --help
find (files) with duplicate or conflicting names.
Usage: findsn [-A -c -C] [[-r] [-f] paths(s) ...]
If no arguments are supplied the $PATH is searched for any redundant
or conflicting files.
-A reports all aliases (soft and hard links) to files.
If no path(s) specified then the $PATH is searched.
If only path(s) specified then they are checked for duplicate named
files. You can qualify this with -C to ignore case in this search.
Qualifying with -c is more restictive as only files (or directories)
in the same directory whose names differ only in case are reported.
I.E. -c will flag files & directories that will conflict if transfered
to a case insensitive file system. Note if -c or -C specified and
no path(s) specifed the current directory is assumed.
Пример использования:
$ /usr/share/fslint/fslint/findsn /usr/share/icons/ > icons-with-duplicate-names.txt
$ head icons-with-duplicate-names.txt
-rw-r--r-- 1 root root 683 2011-04-15 10:31 Humanity-Dark/AUTHORS
-rw-r--r-- 1 root root 683 2011-04-15 10:31 Humanity/AUTHORS
-rw-r--r-- 1 root root 17992 2011-04-15 10:31 Humanity-Dark/COPYING
-rw-r--r-- 1 root root 17992 2011-04-15 10:31 Humanity/COPYING
-rw-r--r-- 1 root root 4776 2011-03-29 08:57 Faenza/apps/16/DC++.xpm
-rw-r--r-- 1 root root 3816 2011-03-29 08:57 Faenza/apps/22/DC++.xpm
-rw-r--r-- 1 root root 4008 2011-03-29 08:57 Faenza/apps/24/DC++.xpm
-rw-r--r-- 1 root root 4456 2011-03-29 08:57 Faenza/apps/32/DC++.xpm
-rw-r--r-- 1 root root 7336 2011-03-29 08:57 Faenza/apps/48/DC++.xpm
-rw-r--r-- 1 root root 918 2011-03-29 09:03 Faenza/apps/16/Thunar.png
FSlint - это универсальный дубликат, который включает в себя функцию для поиска повторяющихся имен:
Пакет FSlint для Ubuntu подчеркивает графический интерфейс, но, как объясняется в FSlint интерфейс командной строки доступен через программы в /usr/share/fslint/fslint/. Используйте параметр --help для документации, например :.........d6] $ /usr/share/fslint/fslint/fslint --help
File system lint.
A collection of utilities to find lint on a filesystem.
To get more info on each utility run 'util --help'.
findup -- find DUPlicate files
findnl -- find Name Lint (problems with filenames)
findu8 -- find filenames with invalid utf8 encoding
findbl -- find Bad Links (various problems with symlinks)
findsn -- find Same Name (problems with clashing names)
finded -- find Empty Directories
findid -- find files with dead user IDs
findns -- find Non Stripped executables
findrs -- find Redundant Whitespace in files
findtf -- find Temporary Files
findul -- find possibly Unused Libraries
zipdir -- Reclaim wasted space in ext2 directory entries
$ /usr/share/fslint/fslint/findsn --help
find (files) with duplicate or conflicting names.
Usage: findsn [-A -c -C] [[-r] [-f] paths(s) ...]
If no arguments are supplied the $PATH is searched for any redundant
or conflicting files.
-A reports all aliases (soft and hard links) to files.
If no path(s) specified then the $PATH is searched.
If only path(s) specified then they are checked for duplicate named
files. You can qualify this with -C to ignore case in this search.
Qualifying with -c is more restictive as only files (or directories)
in the same directory whose names differ only in case are reported.
I.E. -c will flag files & directories that will conflict if transfered
to a case insensitive file system. Note if -c or -C specified and
no path(s) specifed the current directory is assumed.
Пример использования:
$ /usr/share/fslint/fslint/findsn /usr/share/icons/ > icons-with-duplicate-names.txt
$ head icons-with-duplicate-names.txt
-rw-r--r-- 1 root root 683 2011-04-15 10:31 Humanity-Dark/AUTHORS
-rw-r--r-- 1 root root 683 2011-04-15 10:31 Humanity/AUTHORS
-rw-r--r-- 1 root root 17992 2011-04-15 10:31 Humanity-Dark/COPYING
-rw-r--r-- 1 root root 17992 2011-04-15 10:31 Humanity/COPYING
-rw-r--r-- 1 root root 4776 2011-03-29 08:57 Faenza/apps/16/DC++.xpm
-rw-r--r-- 1 root root 3816 2011-03-29 08:57 Faenza/apps/22/DC++.xpm
-rw-r--r-- 1 root root 4008 2011-03-29 08:57 Faenza/apps/24/DC++.xpm
-rw-r--r-- 1 root root 4456 2011-03-29 08:57 Faenza/apps/32/DC++.xpm
-rw-r--r-- 1 root root 7336 2011-03-29 08:57 Faenza/apps/48/DC++.xpm
-rw-r--r-- 1 root root 918 2011-03-29 09:03 Faenza/apps/16/Thunar.png
FSlint - это универсальный дубликат, который включает в себя функцию для поиска повторяющихся имен:
Пакет FSlint для Ubuntu подчеркивает графический интерфейс, но, как объясняется в FSlint интерфейс командной строки доступен через программы в /usr/share/fslint/fslint/. Используйте параметр --help для документации, например :.........d6] $ /usr/share/fslint/fslint/fslint --help
File system lint.
A collection of utilities to find lint on a filesystem.
To get more info on each utility run 'util --help'.
findup -- find DUPlicate files
findnl -- find Name Lint (problems with filenames)
findu8 -- find filenames with invalid utf8 encoding
findbl -- find Bad Links (various problems with symlinks)
findsn -- find Same Name (problems with clashing names)
finded -- find Empty Directories
findid -- find files with dead user IDs
findns -- find Non Stripped executables
findrs -- find Redundant Whitespace in files
findtf -- find Temporary Files
findul -- find possibly Unused Libraries
zipdir -- Reclaim wasted space in ext2 directory entries
$ /usr/share/fslint/fslint/findsn --help
find (files) with duplicate or conflicting names.
Usage: findsn [-A -c -C] [[-r] [-f] paths(s) ...]
If no arguments are supplied the $PATH is searched for any redundant
or conflicting files.
-A reports all aliases (soft and hard links) to files.
If no path(s) specified then the $PATH is searched.
If only path(s) specified then they are checked for duplicate named
files. You can qualify this with -C to ignore case in this search.
Qualifying with -c is more restictive as only files (or directories)
in the same directory whose names differ only in case are reported.
I.E. -c will flag files & directories that will conflict if transfered
to a case insensitive file system. Note if -c or -C specified and
no path(s) specifed the current directory is assumed.
Пример использования:
$ /usr/share/fslint/fslint/findsn /usr/share/icons/ > icons-with-duplicate-names.txt
$ head icons-with-duplicate-names.txt
-rw-r--r-- 1 root root 683 2011-04-15 10:31 Humanity-Dark/AUTHORS
-rw-r--r-- 1 root root 683 2011-04-15 10:31 Humanity/AUTHORS
-rw-r--r-- 1 root root 17992 2011-04-15 10:31 Humanity-Dark/COPYING
-rw-r--r-- 1 root root 17992 2011-04-15 10:31 Humanity/COPYING
-rw-r--r-- 1 root root 4776 2011-03-29 08:57 Faenza/apps/16/DC++.xpm
-rw-r--r-- 1 root root 3816 2011-03-29 08:57 Faenza/apps/22/DC++.xpm
-rw-r--r-- 1 root root 4008 2011-03-29 08:57 Faenza/apps/24/DC++.xpm
-rw-r--r-- 1 root root 4456 2011-03-29 08:57 Faenza/apps/32/DC++.xpm
-rw-r--r-- 1 root root 7336 2011-03-29 08:57 Faenza/apps/48/DC++.xpm
-rw-r--r-- 1 root root 918 2011-03-29 09:03 Faenza/apps/16/Thunar.png
FSlint - это универсальный дубликат, который включает в себя функцию для поиска повторяющихся имен:
Пакет FSlint для Ubuntu подчеркивает графический интерфейс, но, как объясняется в FSlint интерфейс командной строки доступен через программы в /usr/share/fslint/fslint/. Используйте параметр --help для документации, например :.........d6] $ /usr/share/fslint/fslint/fslint --help
File system lint.
A collection of utilities to find lint on a filesystem.
To get more info on each utility run 'util --help'.
findup -- find DUPlicate files
findnl -- find Name Lint (problems with filenames)
findu8 -- find filenames with invalid utf8 encoding
findbl -- find Bad Links (various problems with symlinks)
findsn -- find Same Name (problems with clashing names)
finded -- find Empty Directories
findid -- find files with dead user IDs
findns -- find Non Stripped executables
findrs -- find Redundant Whitespace in files
findtf -- find Temporary Files
findul -- find possibly Unused Libraries
zipdir -- Reclaim wasted space in ext2 directory entries
$ /usr/share/fslint/fslint/findsn --help
find (files) with duplicate or conflicting names.
Usage: findsn [-A -c -C] [[-r] [-f] paths(s) ...]
If no arguments are supplied the $PATH is searched for any redundant
or conflicting files.
-A reports all aliases (soft and hard links) to files.
If no path(s) specified then the $PATH is searched.
If only path(s) specified then they are checked for duplicate named
files. You can qualify this with -C to ignore case in this search.
Qualifying with -c is more restictive as only files (or directories)
in the same directory whose names differ only in case are reported.
I.E. -c will flag files & directories that will conflict if transfered
to a case insensitive file system. Note if -c or -C specified and
no path(s) specifed the current directory is assumed.
Пример использования:
$ /usr/share/fslint/fslint/findsn /usr/share/icons/ > icons-with-duplicate-names.txt
$ head icons-with-duplicate-names.txt
-rw-r--r-- 1 root root 683 2011-04-15 10:31 Humanity-Dark/AUTHORS
-rw-r--r-- 1 root root 683 2011-04-15 10:31 Humanity/AUTHORS
-rw-r--r-- 1 root root 17992 2011-04-15 10:31 Humanity-Dark/COPYING
-rw-r--r-- 1 root root 17992 2011-04-15 10:31 Humanity/COPYING
-rw-r--r-- 1 root root 4776 2011-03-29 08:57 Faenza/apps/16/DC++.xpm
-rw-r--r-- 1 root root 3816 2011-03-29 08:57 Faenza/apps/22/DC++.xpm
-rw-r--r-- 1 root root 4008 2011-03-29 08:57 Faenza/apps/24/DC++.xpm
-rw-r--r-- 1 root root 4456 2011-03-29 08:57 Faenza/apps/32/DC++.xpm
-rw-r--r-- 1 root root 7336 2011-03-29 08:57 Faenza/apps/48/DC++.xpm
-rw-r--r-- 1 root root 918 2011-03-29 09:03 Faenza/apps/16/Thunar.png
FSlint - универсальный дубликат, который включает в себя функцию для поиска повторяющихся имен:
[!d7]
Пакет FSlint для Ubuntu подчеркивает графический интерфейс, но, как объясняется в FAQ FSLint , интерфейс командной строки доступен через программы в / usr / share / fslint / fslint /
. Используйте параметр - help
для документации, например :
$ / usr / share / fslint / fslint / fslint --help Файловая система lint. Набор утилит, которые можно найти в файловой системе. Чтобы получить дополнительную информацию о каждой утилите, запустите 'util -help'. findup - найти DUPlicate files findnl - найти имя Lint (проблемы с именами файлов) findu8 - найти имена файлов с недействительным кодированием utf8 findbl - найти плохие ссылки (различные проблемы с символическими ссылками) findn - find Same Name (проблемы с конфликтующими именами) finded - find Empty Directories findid - найти файлы с мертвыми идентификаторами пользователей findns - find Non Stripped executables findrs - find Redundant Whitespace в файлах findtf - найти временные файлы findul - найти, возможно, неиспользуемые библиотеки zipdir - вернуть неиспользуемое пространство в Записи каталога ext2 $ / usr / share / fslint / fslint / findn --help find (файлы) с повторяющимися или конфликтующими именами. Использование: findn [-A -c-C] [[-r] [-f] paths (s) ...] Если аргументы не заданы, поиск $ PATH выполняется для любых избыточных или конфликтующих файлов. -A сообщает все псевдонимы (мягкие и жесткие ссылки) в файлы. Если ни один путь (ы) не указан, выполняется поиск $ PATH. Если указан только указанный путь (ы), то они проверяются на дубликаты названных файлов. Вы можете квалифицировать это с помощью -C, чтобы игнорировать случай в этом поиске. Квалификация с помощью -c более рестриктивна, поскольку сообщаются только файлы (или каталоги) в том же каталоге, имена которых отличаются только в случае. И.Е. -c будет отмечать файлы & amp; каталоги, которые будут конфликтовать, если будут перенесены в файловую систему, не учитывающую регистр. Обратите внимание, что если указано значение -c или -C и не указан путь (ы), текущий каталог предполагается.
Пример использования:
$ / usr / share / fslint / fslint / находитn / usr / share / icons / & gt; icons-with-duplicate-names.txt $ head icons-with-duplicate-names.txt -rw-r -r-- 1 корень root 683 2011-04-15 10:31 Человечество-Темный / АВТОР -rw-r --r-- 1 корень root 683 2011-04-15 10:31 Человечество / АВТОРЫ -rw-r - r-- 1 корень root 17992 2011-04-15 10:31 Человечество-Темное / КОПИРОВАНИЕ -rw-r --r-- 1 корень root 17992 2011-04-15 10:31 Человечество / КОПИРОВАНИЕ -rw-r - r-- 1 корень root 4776 2011-03-29 08:57 Faenza / apps / 16 / DC ++. xpm -rw-r - r-- 1 корень root 3816 2011-03-29 08:57 Faenza / apps / 22 / DC ++. xpm -rw-r - r-- 1 корень root 4008 2011-03-29 08: 57 Faenza / apps / 24 / DC ++. Xpm -rw-r - r-- 1 корень root 4456 2011-03-29 08:57 Faenza / apps / 32 / DC ++. Xpm -rw-r-r-- 1 root root 7336 2011-03-29 08:57 Faenza / apps / 48 / DC ++. xpm -rw-r - r-- 1 корень root 918 2011-03-29 09:03 Faenza / apps / 16 / Thunar.png
FSlint - универсальный дубликат, который включает в себя функцию для поиска повторяющихся имен:
[!d7]
Пакет FSlint для Ubuntu подчеркивает графический интерфейс, но, как объясняется в FAQ FSLint , интерфейс командной строки доступен через программы в / usr / share / fslint / fslint /
. Используйте параметр - help
для документации, например :
$ / usr / share / fslint / fslint / fslint --help Файловая система lint. Набор утилит, которые можно найти в файловой системе. Чтобы получить дополнительную информацию о каждой утилите, запустите 'util -help'. findup - найти DUPlicate files findnl - найти имя Lint (проблемы с именами файлов) findu8 - найти имена файлов с недействительным кодированием utf8 findbl - найти плохие ссылки (различные проблемы с символическими ссылками) findn - find Same Name (проблемы с конфликтующими именами) finded - find Empty Directories findid - найти файлы с мертвыми идентификаторами пользователей findns - find Non Stripped executables findrs - find Redundant Whitespace в файлах findtf - найти временные файлы findul - найти, возможно, неиспользуемые библиотеки zipdir - вернуть неиспользуемое пространство в Записи каталога ext2 $ / usr / share / fslint / fslint / findn --help find (файлы) с повторяющимися или конфликтующими именами. Использование: findn [-A -c-C] [[-r] [-f] paths (s) ...] Если аргументы не заданы, поиск $ PATH выполняется для любых избыточных или конфликтующих файлов. -A сообщает все псевдонимы (мягкие и жесткие ссылки) в файлы. Если ни один путь (ы) не указан, выполняется поиск $ PATH. Если указан только указанный путь (ы), то они проверяются на дубликаты названных файлов. Вы можете квалифицировать это с помощью -C, чтобы игнорировать случай в этом поиске. Квалификация с помощью -c более рестриктивна, поскольку сообщаются только файлы (или каталоги) в том же каталоге, имена которых отличаются только в случае. И.Е. -c будет отмечать файлы & amp; каталоги, которые будут конфликтовать, если будут перенесены в файловую систему, не учитывающую регистр. Обратите внимание, что если указано значение -c или -C и не указан путь (ы), текущий каталог предполагается.
Пример использования:
$ / usr / share / fslint / fslint / находитn / usr / share / icons / & gt; icons-with-duplicate-names.txt $ head icons-with-duplicate-names.txt -rw-r -r-- 1 корень root 683 2011-04-15 10:31 Человечество-Темный / АВТОР -rw-r --r-- 1 корень root 683 2011-04-15 10:31 Человечество / АВТОРЫ -rw-r - r-- 1 корень root 17992 2011-04-15 10:31 Человечество-Темное / КОПИРОВАНИЕ -rw-r --r-- 1 корень root 17992 2011-04-15 10:31 Человечество / КОПИРОВАНИЕ -rw-r - r-- 1 корень root 4776 2011-03-29 08:57 Faenza / apps / 16 / DC ++. xpm -rw-r - r-- 1 корень root 3816 2011-03-29 08:57 Faenza / apps / 22 / DC ++. xpm -rw-r - r-- 1 корень root 4008 2011-03-29 08: 57 Faenza / apps / 24 / DC ++. Xpm -rw-r - r-- 1 корень root 4456 2011-03-29 08:57 Faenza / apps / 32 / DC ++. Xpm -rw-r-r-- 1 root root 7336 2011-03-29 08:57 Faenza / apps / 48 / DC ++. xpm -rw-r - r-- 1 корень root 918 2011-03-29 09:03 Faenza / apps / 16 / Thunar.png
ls -l
для форматирования своего вывода. Этот вопрос должен объяснить, что означают цвета.
– ændrük
14 June 2011 в 21:46
find . -mindepth 1 -printf '%h %f\n' | sort -t ' ' -k 2,2 | uniq -f 1 --all-repeated=separate | tr ' ' '/'
Как говорится в комментарии, это также найдет папки. Вот команда ограничить его файлами:
find . -mindepth 1 -type f -printf '%p %f\n' | ...
Сохраните это в файле с именем duplicates.py
#!/usr/bin/env python
# Syntax: duplicates.py DIRECTORY
import os, sys
top = sys.argv[1]
d = {}
for root, dirs, files in os.walk(top, topdown=False):
for name in files:
fn = os.path.join(root, name)
basename, extension = os.path.splitext(name)
basename = basename.lower() # ignore case
if basename in d:
print(d[basename])
print(fn)
else:
d[basename] = fn
Затем сделайте исполняемый файл:
chmod +x duplicates.py
Запустите, например. например:
./duplicates.py ~/images
Он должен выводить пары файлов, имеющих одинаковое базовое имя (1). Написанный на python, вы сможете изменить его.
Я предполагаю, что вам нужно только увидеть эти «дубликаты», а затем обработать их вручную. Если это так, этот код bash4 должен делать то, что вы хотите, я думаю.
declare -A array=() dupes=()
while IFS= read -r -d '' file; do
base=${file##*/} base=${base%.*}
if [[ ${array[$base]} ]]; then
dupes[$base]+=" $file"
else
array[$base]=$file
fi
done < <(find /the/dir -type f -print0)
for key in "${!dupes[@]}"; do
echo "$key: ${array[$key]}${dupes[$key]}"
done
См. Http://mywiki.wooledge.org/BashGuide/Arrays#Associative_Arrays и / или руководство bash для получения справки по синтаксис ассоциативного массива.
Это bname:
#!/bin/bash
#
# find for jpg/png/gif more files of same basename
#
# echo "processing ($1) $2"
bname=$(basename "$1" .$2)
find -name "$bname.jpg" -or -name "$bname.png"
Сделайте его исполняемым:
chmod a+x bname
Вызовите его:
for ext in jpg png jpeg gif tiff; do find -name "*.$ext" -exec ./bname "{}" $ext ";" ; done
Pro:
Это простой и простой, поэтому расширяемый. Обрабатывает пробелы, вкладки, строки и файлы в именах файлов, afaik. (Предполагая, что в имени расширения нет такой вещи).Con:
Это просто и просто, поэтому расширяемость.Сохраните это в файле с именем duplicates.py
#!/usr/bin/env python
# Syntax: duplicates.py DIRECTORY
import os, sys
top = sys.argv[1]
d = {}
for root, dirs, files in os.walk(top, topdown=False):
for name in files:
fn = os.path.join(root, name)
basename, extension = os.path.splitext(name)
basename = basename.lower() # ignore case
if basename in d:
print(d[basename])
print(fn)
else:
d[basename] = fn
Затем сделайте исполняемый файл:
chmod +x duplicates.py
Запустите, например. например:
./duplicates.py ~/images
Он должен выводить пары файлов, имеющих одинаковое базовое имя (1). Написанный на python, вы сможете изменить его.
find . -mindepth 1 -printf '%h %f\n' | sort -t ' ' -k 2,2 | uniq -f 1 --all-repeated=separate | tr ' ' '/'
Как говорится в комментарии, это также найдет папки. Вот команда ограничить его файлами:
find . -mindepth 1 -type f -printf '%p %f\n' | ...
Я предполагаю, что вам нужно только увидеть эти «дубликаты», а затем обработать их вручную. Если это так, этот код bash4 должен делать то, что вы хотите, я думаю.
declare -A array=() dupes=()
while IFS= read -r -d '' file; do
base=${file##*/} base=${base%.*}
if [[ ${array[$base]} ]]; then
dupes[$base]+=" $file"
else
array[$base]=$file
fi
done < <(find /the/dir -type f -print0)
for key in "${!dupes[@]}"; do
echo "$key: ${array[$key]}${dupes[$key]}"
done
См. Http://mywiki.wooledge.org/BashGuide/Arrays#Associative_Arrays и / или руководство bash для получения справки по синтаксис ассоциативного массива.
Это bname:
#!/bin/bash
#
# find for jpg/png/gif more files of same basename
#
# echo "processing ($1) $2"
bname=$(basename "$1" .$2)
find -name "$bname.jpg" -or -name "$bname.png"
Сделайте его исполняемым:
chmod a+x bname
Вызовите его:
for ext in jpg png jpeg gif tiff; do find -name "*.$ext" -exec ./bname "{}" $ext ";" ; done
Pro:
Это простой и простой, поэтому расширяемый. Обрабатывает пробелы, вкладки, строки и файлы в именах файлов, afaik. (Предполагая, что в имени расширения нет такой вещи).Con:
Это просто и просто, поэтому расширяемость.Сохраните это в файле с именем duplicates.py
#!/usr/bin/env python
# Syntax: duplicates.py DIRECTORY
import os, sys
top = sys.argv[1]
d = {}
for root, dirs, files in os.walk(top, topdown=False):
for name in files:
fn = os.path.join(root, name)
basename, extension = os.path.splitext(name)
basename = basename.lower() # ignore case
if basename in d:
print(d[basename])
print(fn)
else:
d[basename] = fn
Затем сделайте исполняемый файл:
chmod +x duplicates.py
Запустите, например. например:
./duplicates.py ~/images
Он должен выводить пары файлов, имеющих одинаковое базовое имя (1). Написанный на python, вы сможете изменить его.
find . -mindepth 1 -printf '%h %f\n' | sort -t ' ' -k 2,2 | uniq -f 1 --all-repeated=separate | tr ' ' '/'
Как говорится в комментарии, это также найдет папки. Вот команда ограничить его файлами:
find . -mindepth 1 -type f -printf '%p %f\n' | ...
Я предполагаю, что вам нужно только увидеть эти «дубликаты», а затем обработать их вручную. Если это так, этот код bash4 должен делать то, что вы хотите, я думаю.
declare -A array=() dupes=()
while IFS= read -r -d '' file; do
base=${file##*/} base=${base%.*}
if [[ ${array[$base]} ]]; then
dupes[$base]+=" $file"
else
array[$base]=$file
fi
done < <(find /the/dir -type f -print0)
for key in "${!dupes[@]}"; do
echo "$key: ${array[$key]}${dupes[$key]}"
done
См. Http://mywiki.wooledge.org/BashGuide/Arrays#Associative_Arrays и / или руководство bash для получения справки по синтаксис ассоциативного массива.
Это bname:
#!/bin/bash
#
# find for jpg/png/gif more files of same basename
#
# echo "processing ($1) $2"
bname=$(basename "$1" .$2)
find -name "$bname.jpg" -or -name "$bname.png"
Сделайте его исполняемым:
chmod a+x bname
Вызовите его:
for ext in jpg png jpeg gif tiff; do find -name "*.$ext" -exec ./bname "{}" $ext ";" ; done
Pro:
Это простой и простой, поэтому расширяемый. Обрабатывает пробелы, вкладки, строки и файлы в именах файлов, afaik. (Предполагая, что в имени расширения нет такой вещи).Con:
Это просто и просто, поэтому расширяемость.Сохраните это в файле с именем duplicates.py
#!/usr/bin/env python
# Syntax: duplicates.py DIRECTORY
import os, sys
top = sys.argv[1]
d = {}
for root, dirs, files in os.walk(top, topdown=False):
for name in files:
fn = os.path.join(root, name)
basename, extension = os.path.splitext(name)
basename = basename.lower() # ignore case
if basename in d:
print(d[basename])
print(fn)
else:
d[basename] = fn
Затем сделайте исполняемый файл:
chmod +x duplicates.py
Запустите, например. например:
./duplicates.py ~/images
Он должен выводить пары файлов, имеющих одинаковое базовое имя (1). Написанный на python, вы сможете изменить его.
find . -mindepth 1 -printf '%h %f\n' | sort -t ' ' -k 2,2 | uniq -f 1 --all-repeated=separate | tr ' ' '/'
Как говорится в комментарии, это также найдет папки. Вот команда ограничить его файлами:
find . -mindepth 1 -type f -printf '%p %f\n' | ...
Я предполагаю, что вам нужно только увидеть эти «дубликаты», а затем обработать их вручную. Если это так, этот код bash4 должен делать то, что вы хотите, я думаю.
declare -A array=() dupes=()
while IFS= read -r -d '' file; do
base=${file##*/} base=${base%.*}
if [[ ${array[$base]} ]]; then
dupes[$base]+=" $file"
else
array[$base]=$file
fi
done < <(find /the/dir -type f -print0)
for key in "${!dupes[@]}"; do
echo "$key: ${array[$key]}${dupes[$key]}"
done
См. Http://mywiki.wooledge.org/BashGuide/Arrays#Associative_Arrays и / или руководство bash для получения справки по синтаксис ассоциативного массива.
Это bname:
#!/bin/bash
#
# find for jpg/png/gif more files of same basename
#
# echo "processing ($1) $2"
bname=$(basename "$1" .$2)
find -name "$bname.jpg" -or -name "$bname.png"
Сделайте его исполняемым:
chmod a+x bname
Вызовите его:
for ext in jpg png jpeg gif tiff; do find -name "*.$ext" -exec ./bname "{}" $ext ";" ; done
Pro:
Это простой и простой, поэтому расширяемый. Обрабатывает пробелы, вкладки, строки и файлы в именах файлов, afaik. (Предполагая, что в имени расширения нет такой вещи).Con:
Это просто и просто, поэтому расширяемость.Сохраните это в файле с именем duplicates.py
#!/usr/bin/env python
# Syntax: duplicates.py DIRECTORY
import os, sys
top = sys.argv[1]
d = {}
for root, dirs, files in os.walk(top, topdown=False):
for name in files:
fn = os.path.join(root, name)
basename, extension = os.path.splitext(name)
basename = basename.lower() # ignore case
if basename in d:
print(d[basename])
print(fn)
else:
d[basename] = fn
Затем сделайте исполняемый файл:
chmod +x duplicates.py
Запустите, например. например:
./duplicates.py ~/images
Он должен выводить пары файлов, имеющих одинаковое базовое имя (1). Написанный на python, вы сможете изменить его.
find . -mindepth 1 -printf '%h %f\n' | sort -t ' ' -k 2,2 | uniq -f 1 --all-repeated=separate | tr ' ' '/'
Как говорится в комментарии, это также найдет папки. Вот команда ограничить его файлами:
find . -mindepth 1 -type f -printf '%p %f\n' | ...
Я предполагаю, что вам нужно только увидеть эти «дубликаты», а затем обработать их вручную. Если это так, этот код bash4 должен делать то, что вы хотите, я думаю.
declare -A array=() dupes=()
while IFS= read -r -d '' file; do
base=${file##*/} base=${base%.*}
if [[ ${array[$base]} ]]; then
dupes[$base]+=" $file"
else
array[$base]=$file
fi
done < <(find /the/dir -type f -print0)
for key in "${!dupes[@]}"; do
echo "$key: ${array[$key]}${dupes[$key]}"
done
См. Http://mywiki.wooledge.org/BashGuide/Arrays#Associative_Arrays и / или руководство bash для получения справки по синтаксис ассоциативного массива.
Это bname:
#!/bin/bash
#
# find for jpg/png/gif more files of same basename
#
# echo "processing ($1) $2"
bname=$(basename "$1" .$2)
find -name "$bname.jpg" -or -name "$bname.png"
Сделайте его исполняемым:
chmod a+x bname
Вызовите его:
for ext in jpg png jpeg gif tiff; do find -name "*.$ext" -exec ./bname "{}" $ext ";" ; done
Pro:
Это простой и простой, поэтому расширяемый. Обрабатывает пробелы, вкладки, строки и файлы в именах файлов, afaik. (Предполагая, что в имени расширения нет такой вещи).Con:
Это просто и просто, поэтому расширяемость.