скопируйте каждую строку из текстового файла, который содержит число больше 5000

После mount --bind / /elsewhereдоступ к файлам в этой файловой системе через точку монтирования /и через точку монтирования /elsewhereзапрещен. эквивалент. Угрозы безопасности нет, потому что привязное крепление — это не лазейка в низкоуровневый механизм, а дверь в ту же комнату. Как только вы вошли, не имеет значения, какую дверь вы выбрали.

0
12.07.2016, 19:47
2 ответа

Вот один из способов, используя awk, напечатать строки из файла, содержащие число после строки "length_" это меньше или равно 5000:

awk '{sub("length_", "", $0); if ($0 <= 5000) { print "length_"$0 } }' input

Он просто указывает awk удалить строку «length_», а затем сравнить оставшуюся часть строки с 5000; если он меньше или равен 5000, выведите «length_» и оставшуюся часть строки.В строке темы вашего Q написано (в то время) «больше 5000», поэтому, если это действительно так, просто измените сравнение в awk:

awk '{sub("length_", "", $0); if ($0 > 5000) { print "length_"$0 } }' input

Учитывая фактический формат файла, команда awk может быть значительно упрощено:

awk -F_ '$4 > 5000' input

или

awk -F_ '$4 <= 5000' input

, сообщая awk разделить поля на основе подчеркивания, а затем сравнивая четвертое поле с 5000. Если сравнение верно, тогда (по умолчанию) print.

2
28.01.2020, 02:27
grep -E '_length_([5-9][0-9]{3}|[0-9]{5,})_' file1.txt > file2.txt

выводит строки, содержащие:

  • _length_ , за которым следует:
    • 5 - 9 и еще 3 цифры (5000-9999) или
    • 5 или более цифр (10000 +)
  • , за которыми следует _ .
1
28.01.2020, 02:27

Теги

Похожие вопросы