Xargs separati da Newline

È ansible fare xargs utilizzare solo newline come separatore? (in bash su Linux e OS X se ciò conta)

So che -0 può essere utilizzato, ma è PITA poiché non tutti i comandi supportno l'output NUL-delimitato.

  • Qual è la differenza tra `su` e` su -` in CentOS?
  • Come faccio ad aggiornare all'ultima versione di PHP in CentOS con yum?
  • Come posso mirrorare un repository yum, ma scaricando solo le versioni più recenti di each pacchetto?
  • Come verificare se il mio server è vulnerabile al bug ShellShock?
  • Posso permettere la root su qualsiasi altro utente?
  • Come faccio a sapere cosa sta girando la mia unità?
  • 5 Solutions collect form web for “Xargs separati da Newline”

    Qualcosa lungo le linee di

     alias myxargs='perl -p -e "s/\n/\0/;" | xargs -0' cat nonzerofile | myxargs command 

    dovrebbe funzionare.

    GNU xargs (impostazione predefinita su Linux, installazione di findutils da findutils su OS X per ottenerla) support -d che consente di specificare un delimitatore personalizzato per l'input, in modo da poter

     ls *foo | xargs -d '\n' -P4 foo 

    Con Bash, generalmente preferisco evitare xargs per qualsiasi cosa less ingannevole, a favore di loops di lettura. Per la tua domanda, while read -ar LINE; do ...; done while read -ar LINE; do ...; done while read -ar LINE; do ...; done il lavoro (ricorda di utilizzare la syntax dell'arrays con LINE, ad esempio ${LINE[@]} per tutta la linea). Questo non richiede alcun trucco: per impostazione predefinita, usa solo \n come carattere di terminazione di linea.

    Dovrei postare una domanda su SO circa i pro e contro di xargs vs lo-read loops … fatto!

    Non con la versione standard. Ho una versione hacker che lo fa – l'ho usato prima che io sapessi di ' find ... -print0 | xargs -0 ... find ... -print0 | xargs -0 ... '. Contattathemes se vuoi una copia – vedi il mio profilo. (Nessuna scienza sul razzo – ma solo il lavoro, ma non è una replica completa xargs.)

    Cosa c'è di cat file | xargs | sed 's/ /\n/ig' cat file | xargs | sed 's/ /\n/ig' cat file | xargs | sed 's/ /\n/ig' questo converrà gli spazi a newline, utilizzando gli strumenti standard di bash di Linux.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.