Fajl tordelese kulon fajlokba, soronkent

Fórumok

Fajl tordelese kulon fajlokba, soronkent

Hozzászólások

Sziasztok,
bash szkriptben, hogy lehet megcsinalni, hogy pl /etc/network/interfaces fajlt soronkent tobb fajlra darabolni`? Tehat teszem azt 20 sor, 20 uj fajlba, fajlnev mindegy.
Koszi

[quote:f1df3f1c11="tempix"]Sziasztok,
bash szkriptben, hogy lehet megcsinalni, hogy pl /etc/network/interfaces fajlt soronkent tobb fajlra darabolni`? Tehat teszem azt 20 sor, 20 uj fajlba, fajlnev mindegy.
Koszi

[code:1:f1df3f1c11]IFS='
'
cnt=0
for line in $(cat /etc/network/interfaces); do
echo "${line}" >part.${cnt}
cnt=$(expr ${cnt} + 1)
done[/code:1:f1df3f1c11]

Ez pl egy lehetseges megoldas, melynek erdekessege, hogy nem csak bash, hanem a legtobb bourne-szeru shell alat mukodik. (/me utalja a bash script elnevezest, mert a scriptek jelentos resze mas shell alatt is teljesen jol megy, ha az iroja egy picit odafigyelt)

split -l 1 filename prefix_

[quote:febd42c31a="algernon"][quote:febd42c31a="tempix"]Sziasztok,
bash szkriptben, hogy lehet megcsinalni, hogy pl /etc/network/interfaces fajlt soronkent tobb fajlra darabolni`? Tehat teszem azt 20 sor, 20 uj fajlba, fajlnev mindegy.
Koszi

[code:1:febd42c31a]IFS='
'
cnt=0
for line in $(cat /etc/network/interfaces); do
echo "${line}" >part.${cnt}
cnt=$(expr ${cnt} + 1)
done[/code:1:febd42c31a]

Ez pl egy lehetseges megoldas, melynek erdekessege, hogy nem csak bash, hanem a legtobb bourne-szeru shell alat mukodik. (/me utalja a bash script elnevezest, mert a scriptek jelentos resze mas shell alatt is teljesen jol megy, ha az iroja egy picit odafigyelt)

meg lehet csinalni head-dal es tail parossal is:)
elso 20 es a masodik 20 sor:
[code:1:8ed3c48b7e]head -n 20 > file1 ; head -n 40 | tail -n 20 > file2[/code:1:8ed3c48b7e]
utolso 20 sor es utolso elotti 20 sor:
[code:1:8ed3c48b7e]tail -n 20 > file1 ; tail -n 40 | head -n 20 > file2[/code:1:8ed3c48b7e]

Koszi szepen, az elso megoldast sikerrel alkalmaztam.
Egy kerdes hozza:
IFS='
'

Ez kesobb elrontotta a szkriptemet, ezert a tordeles utan betettem egy ilyet:

IFS=' ' ezt hasrautesre talaltam ki, bejott.
Hogy kell ezt officiell hasznalni? (ha az en megoldasomnak esetleg valami hatulutoje lenne?)

ha IFS=' ' -re allitod a bash-ban, akkor az IFS felveszi a default erteket, ha jol emlexem