ايران ويج

نسخه‌ی کامل: سوال درباره دستور awk
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
با سلام و احترام
ميخواهم با استفاده از دستور awk به اول و انتهاي يكي از ستون هاي فايلم علامت " اضافه كنم
ممنون مي شوم راهنمايي بفرماييد .
سلام

اطلاعاتی که دادین کمه ؛
برای اینکه همون چیزی که میخوایین رو آماده کنم ؛ ینمونه مثال بزنید و مقداری از فایل رو آپلود کنید

-----------
برای مثال هم این کد هر خط فایل رو بین " میزاره :

کد:
awk '{print "\""$0"\"";}'

برای امتحان :

کد:
echo -e "salam1\nsalam2\nsalam3"
salam1
salam2
salam3

و بعد از پایپ شدن :

کد:
echo -e "salam1\nsalam2\nsalam3"| awk '{print "\""$0"\"";}'
"salam1"
"salam2"
"salam3"

سلام
ممنون babyy عزيز
با مثالي كه برام زديد مشكلم حل شد .
با تشكر فراوان
سلام
من مي خواستم با استفاده از روشي كه مثال زديد براي درج علامت " (كوتيشن) در فايل متني علامت ديگري بذارم ولي موفق نشدم !
فرض بفرماييد فايل متني زير را دارم
red ali tree
blue hosain window
green reza pen
حال ميخواهيم با استفاده از دستور awk‌ اسامي(ali,hosain,reza) داخل ' قرار بگيرند ، يعني
red 'ali' tree
blue 'hosain' window
green 'reza' pen
اگر لطف بفرماييد مجددا راهنمايي بفرماييد ، ممنون مي شوم .
با تشكر
سلام
خواهش میکنم :)

جای تمامی اسامی در ستون دوم است ؟؟

---------------------------------------------
*-سوال خوبی بپرسیدید :) ؛ اگه جای اسامی در ستون مشخصی نباشه خودم هم نمیدونم با awk چجور میشه درش آورد !! (یک مقدار با عباراتش مشکل دارم ؛ روش حل رو میدونم) من تا الا اینکار رو با sed میکرم اما با awk اینکارو نکرده بودم ؛ میرم دنبالش به نیحه رسیدم تو همین صفحه میزارم (با تشکر از سوالتون )
سلام وعرض ادب
ممنون از حسن توجه تون
آره ، همه اسامي در يك ستون مشخص ( مثلا ستون دوم) واقع شده اند .
ممنون مي شوم هر زمان راه حلي پيدا كرديد ، راهنمايي بفرماييد .
با آرزوي موفقيت .
سلام

خب ؛ راه پیدا شد :)

فقط این نکته رو بگم به علت گستردگیه ابن برنامه ها هر کس از یه راه حلی میره ؛ شاید من به علت ناواردی زیاد پیچوندم ؛ پس از این بابت عذر میخوام ؛

*----------------------------
کد php:
{
A[0]="reza"
A[1]="red"
A[2]="blue"

for (i in A){

if (match($
A[i])){


sub (A[i] , "'"A[i]"'" , $0)


print $
0

}
}


نحوه اجرا :

کد php:
awk -f 1.awk files 


برنامه بالا رو با نام awk.1 ذخیره کنید و اجراش کنید ؛ files نام فایلهاتونه

توضیحش اینطوره که تایع جایگزین؛ sub هستش !
این مثال بالا هر لغت رو که در جای جمله باشه ؛ اطرافش ' میگیره !

این مثال یه مثال کامل هستش تقریبا واسه کاری که میخوایین بکنید؛ که میتونید تحلیلش کنید و بنا به کارتون تغییرش بدید

با توجه به بالا اون مثالی که زدین فقط در ستون دوم هستند اسامی ؛ میشه به راحتی با sub تقریبا در یک در خط درش آورد !

سوال و تمرینات جالب دیگری هم دارین مشتاقانه گوش میدم :)
سلام
با عرض تشكر babyy عزيز ، لطف كرديد .
ممنون ، حتما اگر به مشكلي در اين خصوص برخورد كردم مزاحم مي شم .
با تشكر فراوان از راهنماي تون .