حذف فضاهای سفیدی ابتدایی (فاصلهها، تبها):
awk '{sub(/^[ \t]+/, ""); print}' dummy.txt
حذف فضاهای سفید انتهایی (فاصلهها، تبها) از انتهای هر خط:
awk '{sub(/[ \t]+$/, "");print}'
حذف هم فضای سفید ابتدایی و انتهایی از هر خط:
awk '{gsub(/^[ \t]+|[ \t]+$/,"");print}' dummy.txt
این دستور فاصلهی اضافی بین فیلدها را هم حذف میکند
awk '{$1=$1;print}' dummy.txt
درج 5 فضای خالی در ابتدای هر خط (ساخت ترتیب صفحه):
awk '{sub(/^/, " ");print}' dummy.txt
راستچین کردن تمام متن با عرض ۷۹ کاراکتر:
awk '{printf "%79s\n", $0}' dummy.txt*
وسطچین کردن تمام متن با عرض ۷۹ کاراکتر:
awk '{l=length();s=int((79-l)/2); printf "%"(s+l)"s\n",$0}' dummy.txt*
یافتن و جایگزینی الگوی اول با دوم:
awk '{sub(/Lorem/,"foo");print}' dummy.txt
برای بهتر دیدن خروجی این دستور میتوانید از grep استفاده کنید
awk '{sub(/Lorem/,"foo");print}' dummy.txt | grep --color=always foo
یافتن و جایگزینی، تنها در خطوطی که شامل یک الگوی خاص هستند:
در این دستور خطوطی که شامل الگوی Lorem هستند هدفگیری میشوند و در آن خطوط، الگوی ipsum با foo جایگزین خواهند شد.
awk '/Lorem/{gsub(/ipsum/, "foo")};{print}' dummy.txt
یافتن و جایگزینی در تمام خطوطی که شامل یک الگوی خاص نیستند (عکس دستور قبل):
awk '!/Lorem/{gsub(/sit/, "foo")};{print}' dummy.txt
جایگزینی گروهی واژگان با الگویی خاص:
awk '{gsub(/Lorem|ipsum|dolor/, "foo"); print}' dummy.txt
برعکس کردن ترتیب خطوط (مشابه tac):
awk '{a[i++]=$0} END {for (j=i-1; j>=0;) print a[j--] }' dummy.txt*
اگر یک خط با یک علامت \ پایان مییابد، خط بعدی را به آن اضافه کن:
awk '/\\$/ {sub(/\\$/,""); getline t; print $0 t; next}; 1' dummy.txt*
نمایش و مرتب سازی نامهای ورودی تمام کاربران:
awk -F ":" '{ print $1 | "sort" }' /etc/passwd
نمایش دو فیلد اول، به ترتیب معکوس، از هر خط:
awk '{print $2, $1}' dummy.txt
تعویض دو فیلد اول از هر خط:
awk '{temp = $1; $1 = $2; $2 = temp}' dummy.txt
نمایش همهی خطوط و حذف دومین فیلد آن خط:
awk '{ $2 = ""; print }' dummy.txt
نمایش همهي خطوط با ترتیب معکوس فیلدها:
awk '{for (i=NF; i>0; i--) printf("%s ",i);printf ("\n")}' dummy.txt
حذف خطوط تکراری و متوالی (شبیهسازی uniq):
awk 'a !~ $0; {a=$0}'
حذف خطوط تکراری و غیر متوالی :
awk '! a[$0]++'
awk '!($0 in a) {a[$0];print}'