آموزش اسکریپت نویسی

آموزش اسکریپت نویسی پوسته گنو-لینوکس

آموزش اسکریپت نویسی

آموزش اسکریپت نویسی پوسته گنو-لینوکس

پرسش و پاسخ شماره ۹۰

پرسش و پاسخ شماره ۹۰

چگونه می‌توانم متنی را در ابتدای یک فایل درج کنم(برعکسِ ‎>>‎

نمی‌توانید آنرا به تنهایی با تغییر مسیر bash انجام دهید، برعکسِ‎>>‎ وجود ندارد....

برای درج محتویات در ابتدای فایل، می‌توانید از یک ویرایشگر استفاده کنید، برای مثال ex:

ex file << EOF
0a
header line 1
header line 2
.
w
EOF

یا ed:

printf '%s\n' 0a "line 1" "line 2" . w | ed -s file

ex همچنین در صورت فقدان کاراکتر سطرجدید در انتهای فایل آن را به فایل اضافه می‌کند.

یا با استفاده از مواردی از این قبیل می‌توانید فایل را بازنویسی کنید:

{ echo line; cat file ;} >tmpfile && mv tmpfile file
echo line | cat - file > tmpfile && mv tmpfile file

برخی اشخاص اصرار دارند از چکش sed برای کوبیدن تمام پیچ‌ها استفاده کنند:

sed "1iTEXTTOPREPEND" filename > tmp &&
mv tmp filename

راه حل‌های بسیار دیگری نیز وجود دارد.


پرسش و پاسخ 90 (آخرین ویرایش ‎2011-03-15 17:02:32‎ توسط GreyCat)