BASH/SHELL jak zrobic odstep kolonii ls

0

Witam,
czy ktos moze mi podpowiedziec jak zrobic odstep w komendzie ls czyli przyklad :

echo -e "Nom: Taille: Date de mod: Heure:" >> du2.log;
ls -l du1.log | awk '{print $9, $5, $7, $6, $8}' >> du2.log;

w pliku du1.log wychodzi:

Nom: Taille: Date de mod: Heure:
du1.log 104 18 cze 18:32

a chce zrobic zeby bylo tak:

Nom: Taille: Date de mod: Heure:
du1.log 104 18 cze 18:32

Prosze o pomoc, potrzebne mi to jest na dzisiaj :(

0

w awk zamiast print użyć printf http://www.math.utah.edu/docs/info/gawk_7.html#SEC60 składania jak w C

0

ale probowalem /t albo /n ale nie dziala i w ogole C tutaj nie dziala

0

Daj jakiś kawałek logu by mieć jakieś dane testowe.

0

1er lancement
Nom: Taille: Date de mod: Heure:
du1.log 392 22 cze 10:33
1er lancement
Nom: Taille: Date de mod: Heure:
du1.log1er lancement
Nom: Taille: Date de mod: Heure:
-naninfinf-nan10:351er lancement
Nom: Taille: Date de mod: Heure:
du1.log58422cze10:361er lancement
Nom: Taille: Date de mod: Heure:
-naninfinf-nan10:381er lancement
Nom: Taille: Date de mod: Heure:
-naninfinf-nan10:39

probowalem
ls -l du1.log | awk '{print $9/t$5/t$7/t$6/t$8}' >> du1.log;

i wychodzi cos takiego

Nom: Taille: Date de mod: Heure:
-naninfinf-nan10:39

0

aaa... nie /t, a \t

0

konsola mi wywalila blad teraz :P

awk: 1: unexpected character ''

wkurza mnie to :/ juz sam nie wiem co mam robic

0

daj jeszcze \t w cudzyslowach i bedzie super ;]

0

Hm...

$ ls -l du1 | awk 'BEGIN{ printf "%-7s%-7s%-7s%-7s%-7s\n", "Nom", "Taille", "Date", "de mod", "Heure" }
{ printf "%-7s%-7s%-7s%-7s%-7s\n", $9, $5, $7, $6, $8 }'

jeżeli wykasujesz znaki - to wyrówna do prawej.

0

nic z tego :(
Twoja wersja z s wywala:

awk: run time error: not enough arguments passed to printf("%-7s%-7s%-7s%-7s%-7s
")
FILENAME="" FNR=0 NR=0

a moja wersja z $

awk: run time error: improper conversion(number 1) in printf("%-7$%-7$%-7$%-7$%-7$
")
FILENAME="" FNR=0 NR=0

lipa :(

0

sprawdź dokładnie przy przepisywaniu wszystkie znaki typu przecinek i cudzysłów.

0
ls -l du1 | awk 'BEGIN{ printf "%-7s%-7s%-14s%-7s\n", "Nom", "Taille", "Date de mod", "Heure" }
{ printf "%-7s%-7s%-3s%-11s%-7s\n", $9, $5, $7, $6, $8 }'

trochę kombinowania z wyliczaniem długości napisów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1