awk/csh

Metheny

Member
awk/csh

1. אם אני כותב סקריפט ב-csh , ואני משלב שם קטעי קוד של awk, יש אפשרות להשתמש במשתנים שהגדרתי בחלק של ה-csh בפקודות של ה-awk? 2. אני מנסה להשתמש בפקודה getline של awk שאמורה לקרוא כל פעם שורה מקובץ. יש לפקודה הזאת כמה גירסאות, וזאת הגירסא שהשתמשתי בה:
awk '{while (getline var < $1) > 0) }'​
כאשר $1 הוא שם קובץ שקיבלתי משורת ההפעלה. אבל משום מה כשאני מריץ את זה, הסקריפט מחכה לקלט מהמשתמש, במקום לקרוא את כל השורות מהקובץ ולסיים את התוכנית. קודם כל, יכול להיות שזה בגלל שהמשתנה $1 הוא קשור לחלק של ה-csh. בכל מקרה, מה הבעייה ואיך אפשר לפתור את זה? תודה.
 

Scipio

New member
תשובות

1. אפשר להשתמש במשתני הסביבה ב AWK על ידי המערך המוגדר על ידי ENVIRON למשל gawk 'BEGIN { print ENVIRON["PATH"]; }' 2. בשביל לקרוא קובץ יחיד אתה פשוט שם אותו בפקודה למשל gawk '{print $1}' filename getline is used for multiple files / input streams You can also do the following echo -n | awk .... (your script) This will feed nothing as input to the script $1 is the first argument of each line not the the command line to use command lines you can set variables with -v (gawk)
 
למעלה