find /path -cmin -X
Sign before minute:
+ more than X minutes / over X minutes
- less than X minutes / within X minutes
(no sign) exact
Пример: найдите все файлы в/var/log (включая подdir) измененными в течение прошлых 30 минут
find /var/log -cmin -30
find /path -size +X<unit>
Sign before size:
+ larger than
- less than
(no sign) exact
<unit> :
b = block (default,512byte)
c = byte
w = word (2-byte)
k = kbyte
M = Mbyte
G = Gbyte
Пример: найдите все файлы в/var/log (включая подdir) больше, чем 50k
find /var/log -size +50k
Пример: найдите все файлы в/var/log (включая подdir) больше, чем 50k измененный в течение прошлых 30 минут
find /var/log -cmin -30 -size +50k
Если Вы хотите включать 50k в свой результат, измениться на
find /var/log -cmin -30 -size +49k
PS: Постарайтесь не делать find / .....
как не только будет требоваться много времени, это также включает каталоги (/dev,/sys,/proc...) обычно не подходящий для поиска.
Старый зритель изображений GNOME глаз GNOME , кажется, автоматически перезагружает изображение, когда он редактирует в программе, такой как GIMP. Также есть также плагин перезагрузки, чтобы вы могли использовать кнопку для перезагрузки изображения:
работает в версии 3.8.2
-121--24295-head -c 50 file
Это возвращает первые 50 байтов.
В виду, что команда не всегда реализована одинаково для всех ОС. На Linux и MacOS он ведет себя таким образом. На Solaris (11) необходимо использовать версию GNU в / usr / gnu / bin /
Большинство ответов до сих пор предполагает, что 1 байт = 1 символ, который не может иметь место, если вы используете локаль неASCII.
А немного больше устойчивого способа сделать это:
testString=$(head -c 200 < "${filename}") &&
printf '%s\n' "${testString:0:50}"
Примечание, которое это принимает:
ksh93
, удар
(или недавнее zsh
или mksh
(хотя единственный многобайтовый набор символов, поддерживаемый , mksh
является UTF-8 и только после того, как устанавливает-o utf8-метод
)), и версия голова
, который поддерживает -c
(большинство делает в наше время, но не строго стандартное). и файл - "$filename"
проверить это); в противном случае установить его с т.е. LC_ALL=en_US.UTF-8
)
голова
, приняв худший чехол UTF-8, где все символы кодируются на самое большее 4 байтах. Это должно покрыть большинство чехлов, о которых я могу думать. Ваша команда работает
Команда работает, если вы используете трубку для передачи данных к ней:
cat ${file} | cut -c1-50
или, избегая бесполезного использования CAT и сделать его немного безопаснее:
cut -c1-50 < "$file"
Обратите внимание, что команды выше Будет напечатать первые 50 символов (или байтов, в зависимости от вашего Резакцию
) каждой входной линии . Он должен делать то, что вы ожидаете, если, как вы говорите, ваш файл - одна огромная линия.
dd status=none bs=1 count=50 if=${filename}
Это возвращает первые 50 байтов.
grep -om1 "^.\{50\}" ${filename}
Другой вариант (для первой строки в файле)
(IFS= read -r line <${filename}; echo ${line:0:50})
Вы можете использовать SED для этого, который будет решать проблему довольно легко
sed -e 's/^\(.\{50\}\).*/\1/' yourfile
head -c 50 file.txt
Например, распечатает первые 50 символов файла file.txt.
hexdump
, чтобы распечатать их в виде шестнадцатеричных символов:hexdump -n 50 -v file.bin
Например, распечатает первые 50 байт файла file.bin.
Обратите внимание, что без подробной опции -v
hexdump
заменяет повторяющиеся строки звездочкой (*
). См. здесь :https://superuser.com/questions/494245/what-does-an-asterisk-mean-in-hexdump-output/494613#494613.