У меня была привилегия слышать RMS (Ричард М. Столмен) и Линус Торвальдс (Linus Torvalds). По словам самого RMS, Линус сделал ядро, и по электронной почте, которая теперь известна в новостной группе comp.unix.os http://www.linux.com/news/software/linux-kernel/734956-linuss-famous-email, должен был сделать из него игрушечный проект. Сходство между проектом ядра и проектом утилит GNU заключается в том, что оба пользуются производной от лицензии GPL, монолитным ядром является в основном GPL2 с некоторыми частями в GPLv3, в то время как большинство проектов GNU - строго GPL2.
Не относящийся к вопросу, но все же актуальный - у проекта GNU есть свой собственный проект ядра "Hurd", в котором пользователь никогда не должен прикасаться к ядру и просто прикасаться к различным подсистемам, чтобы делать все, что он хочет. Это должно повысить безопасность и немного более модульно, и в настоящее время это можно испытать с помощью ВМ. Как только мы увидим это в реальных устройствах (может быть, навсегда), мы действительно узнаем, что такое реальная производительность.
Я также не уверен, что то, что Линус сделал (ядро 0.1) должно быть названо операционной системой. Обычно ОС имеет ядро, один или несколько компиляторов, кучу утилит и интерфейс, обращенный к пользователю, что, по сути, и есть то же, что и дистрибутив GNU/Linux .
Просто мои 2 паузы.
Потому что каждая строка вашего входа начинается с пробела, а не с номера 1, поэтому ваш регекс будет неудачным.
Попробуйте:
$ LC_ALL=C grep '^[[:blank:]]*1' file
1 calibre library
10 sites
11 myfirstdirectory
12 vasylgolub.conf
13 CALIBRE LIBRARY
14 DESKTOP
15 DOCUMENTS
16 DOWNLOADS
17 LIBRARY
18 MOVIES
19 MUSIC
или:
awk '$1 ~ /^1/' file
например, эта строка:
10 sites
начинается с пробела
, затем 1
вы должны использовать эту команду:
grep '^\s*1' n_modified.txt
см. этот пример: http://regexr.com/39cas