עבור לתוכן

awk and cat in linux

Featured Replies

פורסם

אני רוצה לכתוב לתוך קובץ טקסט את השורה הבא:


val: 326. time: 20:25:20

את הערך 326 לוקחים מהפלט של הפקודה free -m שהפלט שלה הוא:

 
total used free shared buffers cached
Mem: 497 452 45 0 70 210
-/+ buffers/cache: 171 326

איך עושים זאת?

איך מאתרים את הערך 326?

איך משרשרים ערך + שעה לשורה אחת?

תודה

פורסם

אם התכוונת לערך 326, הפקודה היא:

free | awk '{if ($1 == "-/+") {print $4}}'

אני חושב שהיא אמורה להיות ברורה אבל אם לא, רק תשאל.

איך מציגים את השעה הנוכחית? ככה:

date +%T

איך מציגים את שני הנ"ל ביחד, בשורה אחת? ככה:

 echo `free | awk '{if ($1 == "-/+") {print $4}}'` `date +%T`

אם מקיפים פקודה בגרש אלכסוני, מקבלים את הפלט שלה.

ואיך שומרים לקובץ? ככה:

echo `free | awk '{if ($1 == "-/+") {print $4}}'` `date +%T` > filename

אם אתה רוצה לשמור כמה ערכים כאלו, צריך להוסיף לקובץ ולא לדרוס ואז צריך שינוי קטן:

echo `free | awk '{if ($1 == "-/+") {print $4}}'` `date +%T` >> filename

איך משרשרים? יש כמה דרכים. אני בד"כ עושה משהו כזה:

פורסם

אפשר גם להתשמש ב getline במקרה הזה למשל:

free | awk '/Swap/{getline;getline;print $4}' 

פורסם
  • מחבר

הסברים מעולה!

תודה רבה!!

שאלת המשך:

האם הערך 326 בפקודה free -m, אכן מציין את כמות ה-RAM הפיזי הפנוי אצלי במחשב?

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים