Ú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õ voltamJester
Új hozzászólás Aktív témák
- Luck Dragon: Asszociációs játék. :)
- Politika
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Külpolitika
- 8 TB-ig nyújtózkodik a SanDisk asztali SSD-je
- Minecraft
- Xiaomi 14 Ultra - Leica hercegnő
- Hivatalosan is reagált a Core CPU-k stabilitási gondjáira az Intel
- TCL LCD és LED TV-k
- Milyen videókártyát?
- További aktív témák...
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Warhammer Online - Age of Reckoning (DE) Collectors Box (Figurával!)
- Windows 10/11 Home/Pro , Office OEM/Retail kulcsok
- Magix Acid Pro 11 zenei szoftver
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest