ls | egrep '^m' | awk '{ x=$0; gsub(/^./, ""); $0 = x " " $0 }1' | xargs -l -t mv
A implementação do Posix- ly é feita através da opção -L
para xargs
as:
ls | egrep '^m' | awk '{ x=$0; gsub(/^./, ""); $0 = x " " $0 }1' | xargs -L 1 -t mv
ls | egrep '^m' | awk '{ x=$0; gsub(/^./, ""); print x, $0 }' | xargs -L 1 -t mv
Com base no que eu respondi à sua consulta anterior sobre xargs
, podemos colocar esse aprendizado em boa qualidade use neste exemplo.
Eu modifiquei um pouco o seu código awk
: ele preserva a linha original ( $0
) já que a função gsub
vai derrotá-lo. Em seguida, reunimos o antigo & o novo para obter a linha que queremos enviar para xargs
, que então invocará mv
com os argumentos certos para efetuar a renomeação.