komendy unix

0

Witam,

W programie (język C) piszę program, która głównie operuje na funkcji system() dzięki której mogę poruszać się komendami unix po systemie. Utknąłem w martwym punkcie przy wypisywaniu zawartości plików na ekranie.
Program uruchamiam z linii poleceń ./program bazadanych, "baza danych" to folder gdzie znajdują się pliki z *.txt. A otóż chciałbym, aby zawartość plików z folderu "baza danych" (nie znam ich nazwy tylko folderu gdzie się znajdują) wypisać na stdout.

Na początku poruszam się komendą "cd bazadanych" , następnie aby wypisać stosuję cat plik.txt plik2.txt - tyle, że nie znam nazwy plików (plik.txt plik2.txt itd. ), jest jakaś komenda, która wypisze mi zawartość wszystkich plików umieszczonych w folderze ? Czy aby poznać nazwy plików i je później wypisać na stdout muszę niestety użyć funkcji readdir i opendir. Zależy mi na komendzie no bo znacznie skróci działanie programu.

Z góry dziękuję za pomoc.

0

Nie wiem czy w unixie wyglada to dokladnie tak samo, wiec moge sie mylic. Pisze na podstawie linuxa(pld), ktorego dopiero ostatnio zaczlaem na studiach, wiec wybaczcie ew bledy.
Wypisanie wszystkich plikow i folderow: ls albo find z odpowiednimi parametrami, potem w razie potrzeby mozesz to jeszcze przemielic grep'em.

0

Nie ma komendy która wypisze zawartość wszystkich plików w folderze, bo co to jest folder? oO
W linuksie masz katalogi

Komenda jest bardzo zaawansowana, nie wiem czy mi się tutaj zmieści...

cat katalog/*

0
pan napisał(a)

Komenda jest bardzo zaawansowana, nie wiem czy mi się tutaj zmieści...
cat katalog/*

thx ;] .... jaka ironia .. czasami dziwią, a jednocześnie żal mi osób, które odpowiedzą (wielkie dzięki), ale jednocześnie z jakąś ironią ci 'podjadą', to taki offtop

może wie ktoś jeszcze w jaki sposób mogę oddzielić zawartość plików (używając komendy "cat baza/*") bo jeżeli mam dwa pliki w folderze "baza" np. cox.txt cox2.txt to te pliki będą połączone. Czy można w jakiś sposób je oddzielić np. enterem albo też wypisać z góry nad wyświetloną zawartością pliku nazwę pliku ?

0

mi również jest żal, ale osób które biorą się za coś nie próbując poznać podstaw

for plik in katalog/*; do; echo $plik; cat $plik; done

chociaż może da się prościej

0
pan napisał(a)

mi również jest żal, ale osób które biorą się za coś nie próbując poznać podstaw

for plik in katalog/*; do; echo $plik; cat $plik; done

> chociaż może da się prościej


no ale nie znamy nazwy plików. Zaznaczyłem na początku, że chce wszystko wykonać komendami znając tylko nazwę foldery gdzie znajdują się pliki
0

Szkoda, ze nie sprawdziles, czy dziala czy nie, na pewno wtedy nie bylo by tych ostatnich dwoch postow.
Mozesz sobie w tym for dac inna "zmienna", dal nazwe "plik" dla przykladu po prostu ;)

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