Ú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
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Végleg lemondott a régi gépekről a Steam
- Yettel topik
- Spórolós topik
- Azonnali mobilos kérdések órája
- A fociról könnyedén, egy baráti társaságban
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Hálózati / IP kamera
- Amazfit T-Rex 3 - prehisztorikus idő
- További aktív témák...
- Antivírus szoftverek, VPN
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - 15% AKCIÓ
- MEGA AKCIÓ! - Jogtiszta Windows - Office & Vírusirtó licencek- Azonnal - Számlával - Garanciával
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi


