sed '/^[[:blank:]]*"crosshair"/,/}/{H;/}/!d;s/.*//;x;/sprites\/crosshairs/d;s/.//;}' infile
Как это работает:
sed '/^[[:blank:]]*"crosshair"/,/}/{ # in this range
H # append each line to hold buffer
/}/!d # delete it if not the end of range
s/.*// # empty the pattern space
x # exchanges buffers
/sprites\/crosshairs/d # delete pattern space if it matches
s/.// # remove leading newline, autoprint
}' infile
Предполагается, что строки совпадают с ^ [[: blank:]] * всегда следует "перекрестие"
блоком строк, заключенным в фигурные скобки, как в вашем примере.
Файлы и каталоги в Unix-подобных системах (включая Linux) организованы в виде дерева. Внизу (или вверху, если вы компьютерщик - у них забавные деревья) находится ствол или «корневой каталог». Путь для этого - /
. Исходя из этого, вы можете построить другие пути: / relazione
- это каталог, который находится непосредственно вне корня.
Обычно ваши личные файлы находятся где-то внутри вашего домашнего каталога (обычно / home / username
- поэтому home
находится вне корневого каталога, тогда имя пользователя
находится за пределами дома
.)
То, что вы сделали, вряд ли что-нибудь сломает (хотя вам может быть трудно найти ваши файлы - например, если вы используете графический интерфейс, это будет начните искать в своем домашнем каталоге или, может быть, даже в каталоге внутри него). Если вы используете индексатор файлов, эти файлы, вероятно, больше не будут индексироваться. И т.д. Вы можете просто переместить его назад, например:
sudo mv -i /relazione ~/relazione
~ /
- это быстрый способ указать ваш домашний каталог (для экономии ввода).
Однако есть кое-что, что сломает ваш компьютер : эта привычка запускать что-то с sudo
.Когда вы получаете сообщение об ошибке при попытке запустить команду, на то есть причина! Разрешения предназначены (среди прочего) для защиты системы от разрушения, а sudo
снимает все ограничения. Вам следует использовать его как можно реже и только тогда, когда вы понимаете команду, которую собираетесь запустить.
Командой sudo mv relazione /relazione
вы переместили папку relazione
в корневой каталог (/
). Если вы хотите переместить файл relazione
, попробуйте:
mv /path_to_relazione_file/relazione /path_to_relazione_folder/relazione
Команда, которую вы опубликовали, перемещает файл relazione
в корень ('/').