Вот сценарий python для выполнения задания:
#!/usr/bin/env python2
nums = set('7,152,13,11,42,5,7'.split(','))
with open('/path/to/file.txt') as f:
f = enumerate(f, start=1)
for i, line in f:
if len(set.intersection(nums, set(line.split(',')))) >= 3:
print str(i) + ': ' + line.rstrip()
set, nums будет содержать числа, которые мы хотим сопоставить. Мы создали объект enumerate для получить номер строки и выполнить итерацию по линиям set.intersection(nums, set(line.split(','))), мы получим общие числа среди nums и line. Если в строке if len(....) >= 3 есть 3 или более чисел из этой последовательности, тогда номер строки и строка будет напечатана. Выход будет выглядеть следующим образом:
1: 7,152,13,11,42,5,45
2: 7,152,1,5,7,34,44
3: 7,152,13,11,42,5,7
5: 11,42,5,7,7,152,13
Также, учитывая, что числа не должны совпадать с указанным точным порядком, они могут быть в любом порядке.
ls - стандартная команда для отображения файлов в Ubuntu и других операционных системах Linux и Unix. ls особенно полезно узнать, потому что вы найдете его установленным в каждой системе Unix, которую вы когда-либо встречали. По умолчанию при запуске отображаются только файлы в текущем каталоге.
Однако флаг -R 'является рекурсивным вариантом (обратите внимание на капитал R, а не r), который также покажет вам все подкаталоги.
Вы попросили «подробности» - для этого вам нужен флаг -l (это строчный L, а не номер один). Помните, что это дает вам информацию о правах доступа к файлам, а также размер файла, информацию о времени / дате и имя файла.
Если вы хотите также показывать скрытые файлы / папки (эквивалент Ctrl + H в Nautilus), тогда добавьте флаг -a «all».
Вы можете объединить флаги вместе, чтобы дать вам что-то вроде:
ls -lR
Если вы запустите это в любой папке с приличным размером, вы будете найти это дает огромный длинный выход, который быстро прокручивает экран. Чтобы обойти это, вы можете «вывести» вывод ls через программу с именем less (имя - пародия на аналогичную more, которая была первой, но имеет больше возможностей).
ls -lR | less
Это позволит вам использовать клавиши со стрелками вверх / вниз вместе с параметром PageUp / Down, чтобы перейти через выход с более удобной скоростью.
Я создал специально для этого программу - моментальный снимок каталога. Он рекурсивно выполняет итерацию через каталог и сохраняет имена и размеры всех файлов и папок, с которыми он сталкивается в аккуратно структурированных HTML-файлах, которые имеют организацию, аналогичную организации входного каталога. Другими словами, это можно рассматривать как гиперссылку версий команд dir /s или tree /f.
Как насчет сценария Nautilus?
#!/bin/bash
#
# AUTHOR: (c) 2013 Glutanimate (https://askubuntu.com/users/81372)
# NAME: DirTree 0.1
# DEPENDENCIES: zenity tree (install with sudo apt-get install zenity tree)
# LICENSE: GNU GPL v3 (http://www.gnu.org/licenses/gpl.html)
#
# DESCRIPTION: Creates a directory tree at the current location. If you want you
# can filter the output by a pattern (e.g. *.avi to only include avi
# files).
TITLE=DirTree
# Get working directory
WORKINGDIR="`python -c 'import gio,sys; print(gio.File(sys.argv[1]).get_path())' $NAUTILUS_SCRIPT_CURRENT_URI`"
# Time and date
TIME=$(date +"%Y-%m-%d_%H%M%S")
# Filter pattern
zenity --question --title "$TITLE" --text "Do you want to filter by a specific file pattern?"
if [ "$?" = "1" ]
then
customtree="tree"
else
PATTERN=$(zenity --entry --title "$TITLE" --text="Please enter a file pattern (e.g. *.avi)")
if [ -z "$PATTERN" ]
then
exit
else
customtree="tree -P $PATTERN"
fi
fi
# Directory tree
$customtree "$WORKINGDIR" > "$WORKINGDIR/directorytree_$TIME.txt"
Инструкции по установке: Как установить скрипт Nautilus?
Использование Krusader:
Использовать поиск (Ctl-S). Отметьте «поиск в подкаталогах». Нажмите «Поиск». Когда поиск завершен, нажмите «Подача в список».Это позволит вам обрабатывать всю партию, перетаскивая ее на другую панель и т. д.
find /path/ -printf "%TY-%Tm-%Td\t%s\t%p\n"
Вы можете играть с форматированием printf столько, сколько хотите. Это дает вам отличную возможность получить отформатированные файлы так, как вам нужно, что неоценимо, если вы используете вывод в другом приложении.
Подробнее: http://linux.about.com/od /commands/l/blcmdl1_find.htm
Для лучшей читаемости вы можете пропустить все это через команду column, и она автоматически изменит размеры, чтобы они выстроились в линию.
find /path/ -printf "%TY-%Tm-%Td\t%s\t%p\n" | column -t
вы можете поместить их в свой .bashrc-файл
function _get_tree(){ ls -alR | while read LINE; do echo $LINE | grep ":$" > /dev/null; if [ $? -eq 0 ]; then VAR=$(echo $LINE | grep ":$"| sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/' | tee /dev/tty); fi; echo $LINE | grep "^-" > /dev/null; if [ $? -eq 0 ]; then size=${#VAR}; for i in $(eval echo "{1..$size}"); do echo -n ' '; done; echo -n '..'; echo $LINE | cut -d ' ' -f9; fi; done; };
alias get_tree='_get_tree'
Теперь вы можете использовать команду get_tree внутри любого каталога и отображать всю иерархию.
Синтаксис: [ ! d2] $ get_tree
Выход образца:
.
..test.sh
|-2
..123.log
|---3
|-----4
|-5
|---6
Надежда, это помогает !!
будет очень удобно для вас.
sudo apt-get install tree
с помощью tree filepath для отображения файлов.
Как ответил Оли, find позволит вам искать полное дерево каталогов:
find /path/ -printf "%TY-%Tm-%Td\t%s\t%p\n"
# Where %TY will display the mod. time year as 4 digits
# %Tm will display the mod. time month as 2 digits
# %Td will display the mod. time day as 2 digits
# %s displays the file size in bytes
# %p displays the full path name of the file
Вы также можете использовать параметр -type f, чтобы ограничить результаты только файлами. Если вы хотите сопоставить шаблон файла, вам нужны опции -name или -iname (соответственно чувствительны к регистру и нечувствительны к регистру). Прочитайте man-страницу find - есть значительное количество опций, которые вы можете использовать для сужения / уточнения вашего поиска.
И как раз в сторону, если вы ожидаете иметь несколько экраны данных будут отброшены на вас, не забудьте передать свои результаты через less.
@Oli: +1 Я только что узнал что-то новое - column. Раньше не использовал это.
Это также работает в Nemo.
ls - стандартная команда для отображения файлов в Ubuntu и других операционных системах Linux и Unix. ls особенно полезно узнать, потому что вы найдете его установленным в каждой системе Unix, которую вы когда-либо встречали. По умолчанию при запуске отображаются только файлы в текущем каталоге.
Однако флаг -R 'является рекурсивным вариантом (обратите внимание на капитал R, а не r), который также покажет вам все подкаталоги.
Вы попросили «подробности» - для этого вам нужен флаг -l (это строчный L, а не номер один). Помните, что это дает вам информацию о правах доступа к файлам, а также размер файла, информацию о времени / дате и имя файла.
Если вы хотите также показывать скрытые файлы / папки (эквивалент Ctrl + H в Nautilus), тогда добавьте флаг -a «all».
Вы можете объединить флаги вместе, чтобы дать вам что-то вроде:
ls -lR
Если вы запустите это в любой папке с приличным размером, вы будете найти это дает огромный длинный выход, который быстро прокручивает экран. Чтобы обойти это, вы можете «вывести» вывод ls через программу с именем less (имя - пародия на аналогичную more, которая была первой, но имеет больше возможностей).
ls -lR | less
Это позволит вам использовать клавиши со стрелками вверх / вниз вместе с параметром PageUp / Down, чтобы перейти через выход с более удобной скоростью.
Я создал специально для этого программу - моментальный снимок каталога. Он рекурсивно выполняет итерацию через каталог и сохраняет имена и размеры всех файлов и папок, с которыми он сталкивается в аккуратно структурированных HTML-файлах, которые имеют организацию, аналогичную организации входного каталога. Другими словами, это можно рассматривать как гиперссылку версий команд dir /s или tree /f.
Как насчет сценария Nautilus?
#!/bin/bash
#
# AUTHOR: (c) 2013 Glutanimate (https://askubuntu.com/users/81372)
# NAME: DirTree 0.1
# DEPENDENCIES: zenity tree (install with sudo apt-get install zenity tree)
# LICENSE: GNU GPL v3 (http://www.gnu.org/licenses/gpl.html)
#
# DESCRIPTION: Creates a directory tree at the current location. If you want you
# can filter the output by a pattern (e.g. *.avi to only include avi
# files).
TITLE=DirTree
# Get working directory
WORKINGDIR="`python -c 'import gio,sys; print(gio.File(sys.argv[1]).get_path())' $NAUTILUS_SCRIPT_CURRENT_URI`"
# Time and date
TIME=$(date +"%Y-%m-%d_%H%M%S")
# Filter pattern
zenity --question --title "$TITLE" --text "Do you want to filter by a specific file pattern?"
if [ "$?" = "1" ]
then
customtree="tree"
else
PATTERN=$(zenity --entry --title "$TITLE" --text="Please enter a file pattern (e.g. *.avi)")
if [ -z "$PATTERN" ]
then
exit
else
customtree="tree -P $PATTERN"
fi
fi
# Directory tree
$customtree "$WORKINGDIR" > "$WORKINGDIR/directorytree_$TIME.txt"
Инструкции по установке: Как установить скрипт Nautilus?
Использование Krusader:
Использовать поиск (Ctl-S). Отметьте «поиск в подкаталогах». Нажмите «Поиск». Когда поиск завершен, нажмите «Подача в список».Это позволит вам обрабатывать всю партию, перетаскивая ее на другую панель и т. д.
find /path/ -printf "%TY-%Tm-%Td\t%s\t%p\n"
Вы можете играть с форматированием printf столько, сколько хотите. Это дает вам отличную возможность получить отформатированные файлы так, как вам нужно, что неоценимо, если вы используете вывод в другом приложении.
Подробнее: http://linux.about.com/od /commands/l/blcmdl1_find.htm
Для лучшей читаемости вы можете пропустить все это через команду column, и она автоматически изменит размеры, чтобы они выстроились в линию.
find /path/ -printf "%TY-%Tm-%Td\t%s\t%p\n" | column -t
вы можете поместить их в свой .bashrc-файл
function _get_tree(){ ls -alR | while read LINE; do echo $LINE | grep ":$" > /dev/null; if [ $? -eq 0 ]; then VAR=$(echo $LINE | grep ":$"| sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/' | tee /dev/tty); fi; echo $LINE | grep "^-" > /dev/null; if [ $? -eq 0 ]; then size=${#VAR}; for i in $(eval echo "{1..$size}"); do echo -n ' '; done; echo -n '..'; echo $LINE | cut -d ' ' -f9; fi; done; };
alias get_tree='_get_tree'
Теперь вы можете использовать команду get_tree внутри любого каталога и отображать всю иерархию.
Синтаксис: [ ! d2] $ get_tree
Выход образца:
.
..test.sh
|-2
..123.log
|---3
|-----4
|-5
|---6
Надежда, это помогает !!
будет очень удобно для вас.
sudo apt-get install tree
с помощью tree filepath для отображения файлов.
Как ответил Оли, find позволит вам искать полное дерево каталогов:
find /path/ -printf "%TY-%Tm-%Td\t%s\t%p\n"
# Where %TY will display the mod. time year as 4 digits
# %Tm will display the mod. time month as 2 digits
# %Td will display the mod. time day as 2 digits
# %s displays the file size in bytes
# %p displays the full path name of the file
Вы также можете использовать параметр -type f, чтобы ограничить результаты только файлами. Если вы хотите сопоставить шаблон файла, вам нужны опции -name или -iname (соответственно чувствительны к регистру и нечувствительны к регистру). Прочитайте man-страницу find - есть значительное количество опций, которые вы можете использовать для сужения / уточнения вашего поиска.
И как раз в сторону, если вы ожидаете иметь несколько экраны данных будут отброшены на вас, не забудьте передать свои результаты через less.
@Oli: +1 Я только что узнал что-то новое - column. Раньше не использовал это.
Это также работает в Nemo.
ls - стандартная команда для отображения файлов в Ubuntu и других операционных системах Linux и Unix. ls особенно полезно узнать, потому что вы найдете его установленным в каждой системе Unix, которую вы когда-либо встречали. По умолчанию при запуске отображаются только файлы в текущем каталоге.
Однако флаг -R 'является рекурсивным вариантом (обратите внимание на капитал R, а не r), который также покажет вам все подкаталоги.
Вы попросили «подробности» - для этого вам нужен флаг -l (это строчный L, а не номер один). Помните, что это дает вам информацию о правах доступа к файлам, а также размер файла, информацию о времени / дате и имя файла.
Если вы хотите также показывать скрытые файлы / папки (эквивалент Ctrl + H в Nautilus), тогда добавьте флаг -a «all».
Вы можете объединить флаги вместе, чтобы дать вам что-то вроде:
ls -lR
Если вы запустите это в любой папке с приличным размером, вы будете найти это дает огромный длинный выход, который быстро прокручивает экран. Чтобы обойти это, вы можете «вывести» вывод ls через программу с именем less (имя - пародия на аналогичную more, которая была первой, но имеет больше возможностей).
ls -lR | less
Это позволит вам использовать клавиши со стрелками вверх / вниз вместе с параметром PageUp / Down, чтобы перейти через выход с более удобной скоростью.
Я создал специально для этого программу - моментальный снимок каталога. Он рекурсивно выполняет итерацию через каталог и сохраняет имена и размеры всех файлов и папок, с которыми он сталкивается в аккуратно структурированных HTML-файлах, которые имеют организацию, аналогичную организации входного каталога. Другими словами, это можно рассматривать как гиперссылку версий команд dir /s или tree /f.
Как насчет сценария Nautilus?
#!/bin/bash
#
# AUTHOR: (c) 2013 Glutanimate (https://askubuntu.com/users/81372)
# NAME: DirTree 0.1
# DEPENDENCIES: zenity tree (install with sudo apt-get install zenity tree)
# LICENSE: GNU GPL v3 (http://www.gnu.org/licenses/gpl.html)
#
# DESCRIPTION: Creates a directory tree at the current location. If you want you
# can filter the output by a pattern (e.g. *.avi to only include avi
# files).
TITLE=DirTree
# Get working directory
WORKINGDIR="`python -c 'import gio,sys; print(gio.File(sys.argv[1]).get_path())' $NAUTILUS_SCRIPT_CURRENT_URI`"
# Time and date
TIME=$(date +"%Y-%m-%d_%H%M%S")
# Filter pattern
zenity --question --title "$TITLE" --text "Do you want to filter by a specific file pattern?"
if [ "$?" = "1" ]
then
customtree="tree"
else
PATTERN=$(zenity --entry --title "$TITLE" --text="Please enter a file pattern (e.g. *.avi)")
if [ -z "$PATTERN" ]
then
exit
else
customtree="tree -P $PATTERN"
fi
fi
# Directory tree
$customtree "$WORKINGDIR" > "$WORKINGDIR/directorytree_$TIME.txt"
Инструкции по установке: Как установить скрипт Nautilus?
Использование Krusader:
Использовать поиск (Ctl-S). Отметьте «поиск в подкаталогах». Нажмите «Поиск». Когда поиск завершен, нажмите «Подача в список».Это позволит вам обрабатывать всю партию, перетаскивая ее на другую панель и т. д.
find /path/ -printf "%TY-%Tm-%Td\t%s\t%p\n"
Вы можете играть с форматированием printf столько, сколько хотите. Это дает вам отличную возможность получить отформатированные файлы так, как вам нужно, что неоценимо, если вы используете вывод в другом приложении.
Подробнее: http://linux.about.com/od /commands/l/blcmdl1_find.htm
Для лучшей читаемости вы можете пропустить все это через команду column, и она автоматически изменит размеры, чтобы они выстроились в линию.
find /path/ -printf "%TY-%Tm-%Td\t%s\t%p\n" | column -t
вы можете поместить их в свой .bashrc-файл
function _get_tree(){ ls -alR | while read LINE; do echo $LINE | grep ":$" > /dev/null; if [ $? -eq 0 ]; then VAR=$(echo $LINE | grep ":$"| sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/' | tee /dev/tty); fi; echo $LINE | grep "^-" > /dev/null; if [ $? -eq 0 ]; then size=${#VAR}; for i in $(eval echo "{1..$size}"); do echo -n ' '; done; echo -n '..'; echo $LINE | cut -d ' ' -f9; fi; done; };
alias get_tree='_get_tree'
Теперь вы можете использовать команду get_tree внутри любого каталога и отображать всю иерархию.
Синтаксис: [ ! d2] $ get_tree
Выход образца:
.
..test.sh
|-2
..123.log
|---3
|-----4
|-5
|---6
Надежда, это помогает !!
будет очень удобно для вас.
sudo apt-get install tree
с помощью tree filepath для отображения файлов.
Как ответил Оли, find позволит вам искать полное дерево каталогов:
find /path/ -printf "%TY-%Tm-%Td\t%s\t%p\n"
# Where %TY will display the mod. time year as 4 digits
# %Tm will display the mod. time month as 2 digits
# %Td will display the mod. time day as 2 digits
# %s displays the file size in bytes
# %p displays the full path name of the file
Вы также можете использовать параметр -type f, чтобы ограничить результаты только файлами. Если вы хотите сопоставить шаблон файла, вам нужны опции -name или -iname (соответственно чувствительны к регистру и нечувствительны к регистру). Прочитайте man-страницу find - есть значительное количество опций, которые вы можете использовать для сужения / уточнения вашего поиска.
И как раз в сторону, если вы ожидаете иметь несколько экраны данных будут отброшены на вас, не забудьте передать свои результаты через less.
@Oli: +1 Я только что узнал что-то новое - column. Раньше не использовал это.
Это также работает в Nemo.
ls - стандартная команда для отображения файлов в Ubuntu и других операционных системах Linux и Unix. ls особенно полезно узнать, потому что вы найдете его установленным в каждой системе Unix, которую вы когда-либо встречали. По умолчанию при запуске отображаются только файлы в текущем каталоге.
Однако флаг -R 'является рекурсивным вариантом (обратите внимание на капитал R, а не r), который также покажет вам все подкаталоги.
Вы попросили «подробности» - для этого вам нужен флаг -l (это строчный L, а не номер один). Помните, что это дает вам информацию о правах доступа к файлам, а также размер файла, информацию о времени / дате и имя файла.
Если вы хотите также показывать скрытые файлы / папки (эквивалент Ctrl + H в Nautilus), тогда добавьте флаг -a «all».
Вы можете объединить флаги вместе, чтобы дать вам что-то вроде:
ls -lR
Если вы запустите это в любой папке с приличным размером, вы будете найти это дает огромный длинный выход, который быстро прокручивает экран. Чтобы обойти это, вы можете «вывести» вывод ls через программу с именем less (имя - пародия на аналогичную more, которая была первой, но имеет больше возможностей).
ls -lR | less
Это позволит вам использовать клавиши со стрелками вверх / вниз вместе с параметром PageUp / Down, чтобы перейти через выход с более удобной скоростью.
Я создал специально для этого программу - моментальный снимок каталога. Он рекурсивно выполняет итерацию через каталог и сохраняет имена и размеры всех файлов и папок, с которыми он сталкивается в аккуратно структурированных HTML-файлах, которые имеют организацию, аналогичную организации входного каталога. Другими словами, это можно рассматривать как гиперссылку версий команд dir /s или tree /f.
Как насчет сценария Nautilus?
#!/bin/bash
#
# AUTHOR: (c) 2013 Glutanimate (https://askubuntu.com/users/81372)
# NAME: DirTree 0.1
# DEPENDENCIES: zenity tree (install with sudo apt-get install zenity tree)
# LICENSE: GNU GPL v3 (http://www.gnu.org/licenses/gpl.html)
#
# DESCRIPTION: Creates a directory tree at the current location. If you want you
# can filter the output by a pattern (e.g. *.avi to only include avi
# files).
TITLE=DirTree
# Get working directory
WORKINGDIR="`python -c 'import gio,sys; print(gio.File(sys.argv[1]).get_path())' $NAUTILUS_SCRIPT_CURRENT_URI`"
# Time and date
TIME=$(date +"%Y-%m-%d_%H%M%S")
# Filter pattern
zenity --question --title "$TITLE" --text "Do you want to filter by a specific file pattern?"
if [ "$?" = "1" ]
then
customtree="tree"
else
PATTERN=$(zenity --entry --title "$TITLE" --text="Please enter a file pattern (e.g. *.avi)")
if [ -z "$PATTERN" ]
then
exit
else
customtree="tree -P $PATTERN"
fi
fi
# Directory tree
$customtree "$WORKINGDIR" > "$WORKINGDIR/directorytree_$TIME.txt"
Инструкции по установке: Как установить скрипт Nautilus?