GNU/Linux >> Znalost Linux >  >> Linux

Tisknout všechny soubory ve složce?

řekněme ls retuners file1 file2 dir1 dire2 ... , chci vytisknout you have file1 file2 dir1 dire2 ... in currnent folder .

Jak to mohu udělat?
ls | xargs -i echo 'you have {} in current folder' tiskne

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

také jsem zkusil
ls |xargs printf 'you have %s %s %s %s in current folder'
ale nepodařilo se mi to zprovoznit. protože počet souborů je neurčitý. jaká je správná syntaxe pro printf v tomto případě?

ls | xargs printf 'you have [email protected] in current folder' je nejblíže, kam se mohu dostat, ale nefunguje to.

Přijatá odpověď:

Následující bude fungovat, ale pravděpodobně bude mít nějaké negativní bezpečnostní důsledky:

echo "You have" * "in current folder"

IMO lepší způsob, ale vyžadující dva řádky by bylo:

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

S printf:

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

Linux
  1. Tisknout dva soubory ve dvou sloupcích?

  2. Jak vytisknout název chybějících souborů ve složce?

  3. Jak odstranit všechny soubory s konkrétní příponou v konkrétní složce?

  1. Seřadit soubory v konkrétní složce pomocí Ranger?

  2. Jak odstranit všechny soubory v konkrétní složce přítomné v podsložkách aktuálního adresáře s výjimkou určitého souboru?

  3. sed začátečník:změna všech výskytů ve složce

  1. Rozbalte všechny soubory v adresáři

  2. Odstraňte soubory .DS_STORE v aktuální složce a všech podsložkách z příkazového řádku na Macu

  3. Spusťte všechny skripty prostředí ve složce