GNU/Linux >> Linux Esercitazione >  >> Linux

Stampa tutti i file in una cartella?

diciamo ls restituisce file1 file2 dir1 dire2 ... , voglio stampare you have file1 file2 dir1 dire2 ... in currnent folder .

Come posso farlo?
ls | xargs -i echo 'you have {} in current folder' stampe

you have file1 in current folder
you have file2 in current folder
you have dir1 in current folder
you have dir2 in current folder
you have xxx in current folder

inoltre, ho provato
ls |xargs printf 'you have %s %s %s %s in current folder'
ma non sono riuscito a farlo funzionare. poiché il numero di file è indefinito. qual è la sintassi corretta per printf in questo caso?

ls | xargs printf 'you have [email protected] in current folder' è il più vicino che posso ottenere, ma non funziona.

Risposta accettata:

Quanto segue funzionerà, ma probabilmente ha alcune implicazioni negative sulla sicurezza:

echo "You have" * "in current folder"

IMO un modo migliore, ma richiedere due righe sarebbe:

files=(*)
echo "You have ${files[@]} in curent folder"

Con printf:

files=(*)
printf '%s ' "You have ${files[@]} in current folder"

Linux
  1. Come rimuovere tutti i file in una cartella tranne un file specifico in Linux

  2. Stampa due file in due colonne?

  3. Come stampare il nome dei file mancanti in una cartella?

  4. Anteporre il testo a tutti i file in una cartella?

  5. Ordinare i file in una cartella specifica con Ranger?

Passare in rassegna una cartella ed elencare i file?

Sposta tutti i file tranne uno

Esegui tutti gli script della shell nella cartella

Come spostare tutti i file dalla directory corrente alla directory superiore?

Come chown/chmod tutti i file nella directory corrente?

Elimina tutto /var/log?