С 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
.
El comando rm -f /etc/yum.repos.d/repo.1 master.er top.fg REPO.l
eliminará 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 ssh
puede 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 sudo
en 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.
master.er, top.fg и REPO.1 удаляются из текущего каталога (, который, вероятно, является вашим домашним каталогом ). Вы должны указать полный путь к каталогам.