Проблема с использованием mv

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:]] * всегда следует "перекрестие" блоком строк, заключенным в фигурные скобки, как в вашем примере.

2
04.04.2017, 20:47
3 ответа

Файлы и каталоги в Unix-подобных системах (включая Linux) организованы в виде дерева. Внизу (или вверху, если вы компьютерщик - у них забавные деревья) находится ствол или «корневой каталог». Путь для этого - / . Исходя из этого, вы можете построить другие пути: / relazione - это каталог, который находится непосредственно вне корня.

Обычно ваши личные файлы находятся где-то внутри вашего домашнего каталога (обычно / home / username - поэтому home находится вне корневого каталога, тогда имя пользователя находится за пределами дома .)

То, что вы сделали, вряд ли что-нибудь сломает (хотя вам может быть трудно найти ваши файлы - например, если вы используете графический интерфейс, это будет начните искать в своем домашнем каталоге или, может быть, даже в каталоге внутри него). Если вы используете индексатор файлов, эти файлы, вероятно, больше не будут индексироваться. И т.д. Вы можете просто переместить его назад, например:

sudo mv -i /relazione ~/relazione

~ / - это быстрый способ указать ваш домашний каталог (для экономии ввода).

Однако есть кое-что, что сломает ваш компьютер : эта привычка запускать что-то с sudo .Когда вы получаете сообщение об ошибке при попытке запустить команду, на то есть причина! Разрешения предназначены (среди прочего) для защиты системы от разрушения, а sudo снимает все ограничения. Вам следует использовать его как можно реже и только тогда, когда вы понимаете команду, которую собираетесь запустить.

5
27.01.2020, 21:56

Командой sudo mv relazione /relazione вы переместили папку relazione в корневой каталог (/). Если вы хотите переместить файл relazione, попробуйте:

mv /path_to_relazione_file/relazione /path_to_relazione_folder/relazione
0
27.01.2020, 21:56

Команда, которую вы опубликовали, перемещает файл relazione в корень ('/').

0
27.01.2020, 21:56

Теги

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