Диск разделен на один или несколько разделов . Для Windows обычно есть только один, возможно, где-то спрятан раздел восстановления. Раздел - это логически непрерывная область диска, например «секторы с 1 по 10 000 000».
На разделе может быть построена файловая система. Для Windows это NTFS или FAT; для Linux это одна из версий ext
или различных других вариантов.
Внутри файловой системы находятся файлы и каталоги. В Linux есть каталоги, я понятия не имею, как вы догадались, что их нет.
Как операционная система представляет пользователю несколько разделов на нескольких дисках? В Windows это делается с помощью букв дисков : C:
, D:
и т. Д. В Linux букв дисков нет, и все делается с ] точки монтирования : в определенном каталоге перенаправить доступ к другой файловой системе. (+) Часто, если вы вставляете компакт-диск или USB-накопитель, он появляется где-то в папке / media
или / mnt
.
/ usr
и / usr / bin
обычно находятся в одной файловой системе, но это не обязательно. Люди могут иметь в виду «файловую систему, которая содержит каталог / usr / bin
», когда они используют это выражение.
(+) То же самое можно сделать и с точками соединения NTFS, но люди редко это делают. Пока у них не закончатся буквы дисков.
sed работает со строками за раз и удаляет символы новой строки при обработке каждой строки.
Таким образом, чтобы сделать то, что вы хотите, вы должны сопоставить якорь конца строки ($
), а не буквальный символ новой строки.
Это должно работать:
sed 's:\(\s\)\(00011\)\(\s\|$\):\1$03\3:g'
$ sed 's/\<00011\>/$03/g' file
ADD 00000 00001 $03
LSH $03 00100 01111
ADD $03 10100 00010
JSR 00011101000111010101100010
\<
и \>
соответствуют границам слова нулевой ширины -в начале и конце слова соответственно. BSD sed
также распознает [[:<:]]
и [[:>:]]
, а GNU sed
также понимает \b
как границу слова.
sed
никогда не увидит новые строки во входных данных. Кроме того, \s
специфичен для GNU sed
. Чтобы соответствовать символу пробела в стандартном sed
, просто используйте буквальный пробел (, чтобы соответствовать пробелу -или вкладке -, используйте[[:blank:]]
).