удалить файлы на удаленной машине

С awk:

awk 'NF{NF-=1};1' <in >out

или:

awk 'NF{NF--};1' <in >out

или:

awk 'NF{--NF};1' <in >out

Хотя это выглядит как вуду, это работает. В каждой из этих команд awk есть три части.

Первая - NF, которая является предпосылкой для второй части. NF - это переменная, содержащая количество полей в строке. В AWK все истинно, если оно не 0 или не пустая строка "". Следовательно, вторая часть (где NF декрементируется) происходит только если NF не 0.

Вторая часть (либо NF-=1 NF--, либо --NF) - это просто вычитание единицы из переменной NF. Это предотвращает вывод последнего поля, потому что когда вы изменяете поле (удаляя последнее поле в данном случае), awk перестраивает $0, конкатенируя все поля, разделенные пробелом по умолчанию. $0 больше не содержал последнего поля.

Последняя часть - 1. Она не является магической, она просто используется как выражение, означающее true. Если выражение awk оценивается как true без какого-либо связанного действия, то awk действует по умолчанию print $0.

0
20.02.2018, 15:56
2 ответа

El comando rm -f /etc/yum.repos.d/repo.1 master.er top.fg REPO.leliminará exactamente esos archivos. Los archivos que no sean el primero se eliminan en el directorio actual, que probablemente sea su directorio de inicio en la máquina remota.

Si se van a eliminar los cuatro archivos de /etc/yum.repos.d, puede usar

ssh 182.2.34.1 "cd /etc/yum.repos.d && rm -f repo.1 master.er top.fg REPO.l"

Esto primero cambiará el directorio actual y, si tiene éxito, eliminará los archivos.


También tenga en cuenta que, idealmente, no debería trabajar como root sino como un usuario sin privilegios. Esto puede significar que su comando sshpuede terminar luciendo como

ssh 182.2.34.1 "cd /etc/yum.repos.d && sudo rm -f repo.1 master.er top.fg REPO.l"

y que ejecuta esto como un usuario que no es root -con acceso sudoen la máquina remota (rara vez hay una razón para permitir el acceso SSH por root ).

El beneficio de esto es que declara explícitamente su intención de ejecutar una operación como root, y que los comandos ejecutados como root se registran. El registro es importante si necesita recuperar qué operaciones pueden haber lavado un sistema.

2
28.01.2020, 02:14

master.er, top.fg и REPO.1 удаляются из текущего каталога (, который, вероятно, является вашим домашним каталогом ). Вы должны указать полный путь к каталогам.

5
28.01.2020, 02:14

Теги

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