Hirdetés
- Milyen egeret válasszak?
- Audiofil és gamer? Az ASUS megpróbálja
- Amazon Fire TV stick/box
- Milyen billentyűzetet vegyek?
- Kormányok / autós szimulátorok topikja
- Apple MacBook
- Fejhallgató erősítő és DAC topik
- Lenovo Thinkbook, Yoga széria
- A Sony szerint a PlayStation 5 konzolokat még nem érinti a memóriahiány
- Akciókamerák
Új hozzászólás Aktív témák
-
Jester01
veterán
Kérlek szépen a sima read-es változat az ennyi:
i=0
exec 3<&0
cat ''$1'' | while read line
do
echo ''$line''
if [ $((i++)) -eq 24 ]
then
read <&3
i=0
fi
done
A trükk amit említettem az exec-es sor. A fájlleíróknak linuxban számuk van. A 0,1,2 rendre az stdin, stdout és stderr. A többit arra használod amire akarod. A 3<&0 átirányítás azt jelenti, hogy a 0-ás bemeneti fájlleírót (ami ezek alapján akkor az stdin) duplikálja 3-as számúként.
A while ciklus a pipe miatt alshellben fog futni, aminek az stdin-je a cat stdout-jára van kötve ezért ''elveszik'' a szülõ shell stdin-je (a terminál). Viszont a 3-as számmal ez továbbra is elérhetõ. Vagyis a belsõ read-nek megmondjuk, hogy innen olvasson. (az az átirányítás technikailag azt jelenti, hogy a 3-ast ismét visszaduplikálja a 0-ásra, mivel a read onnan fog olvasni.)
Bonyolultan hangzik, de egyszerû. Remélem érthetõ voltam
Új hozzászólás Aktív témák
- HIBÁTLAN iPhone 13 Pro 256GB Sierra Blue-1 ÉV GARANCIA - Kártyafüggetlen, MS4530, 100% Akkumulátor
- AKCIÓ! LENOVO ThinkPad P15 Gen2 munkaállomás - i7 11800H 64GB DDR4 1TB SSD RTX A2000 4GB W
- ÚJ! AKRacing Arctica gamer szék
- MikroTik RB5009UPr+S+IN
- Surface 3 - 13,5" 2k érintő, i5 1035G7, Iris Plus, 16GB RAM, SSD, jó akku, újszerű állapot, számla
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



