קורס עבודה בסביבת Unix/Linux שיעור תרגול awk


זה נושא דיון מלווה לערך המקורי ב- https://www.tocode.co.il/bundles/unix1/lessons/awklab
  1. השתמשו בפקודה awk כדי להדפיס את תוכן הקובץ /etc/shells עם שורה רווח בין שורה לשורה.
cat /etc/shells | awk '{print $0"\n"}'
  1. השתמשו בפקודה awk כדי להדפיס את הקובץ /etc/shells עם הוספת סימן < לתחילת כל שורה.
cat /etc/shells | awk '{print "> "$0}'
  1. השתמשו בפקודת awk כדי להחליף את המילה הראשונה והאחרונה בכל שורה בפלט של הפקודה help cd
cat lorem | awk '{printf("%s ",$NF);  for(i=2;i<NF;i++)printf("%s ",$i)  ;print $1}'
  1. הפקודה /sbin/ifconfig מדפיסה מידע לגבי התקני הרשת על המכונה. כך נראה פלט לדוגמא של הפקודה:
en3: flags=8963 mtu 1500
    options=60
    ether 32:00:18:24:c0:00
    media: autoselect 
    status: inactive
p2p0: flags=8843 mtu 2304
    ether 06:38:35:47:96:24
    media: autoselect
    status: inactive

השתמשו בפקודה awk כדי לשמור כל בלוק לקובץ בשם אחר, כלומר בסיום ההפעלה יהיה לנו קובץ בשם p2p0 עם השורות של הבלוק השני וקובץ נוסף בשם en3 ובו השורות מהבלוק הראשון.

ifconfig | awk '/^[a-z0-9]+\:.+/ {file = $1} // {print $0>>file}'
לייק 1