انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => برنامه‌سازی => نویسنده: بی نام تا اطلاع ثانوی در 19 اردیبهشت 1394، 02:58 ب‌ظ

عنوان: تغییر محتوای فایل متنی
ارسال شده توسط: بی نام تا اطلاع ثانوی در 19 اردیبهشت 1394، 02:58 ب‌ظ
با عرض سلام خدمت عزیزان
یک فایل txt دارم که شامل چند هزار خط میباشد، چگونه میتوانم اول و آخر هر خط چیزی اضافه کنم؟(محتوای فایل به زبان فارسی هست)
مثلا تغییر این فایل:
سلام
این نوشته به عنوان تست
دراین مکان قرار داده شده است

به:
'سلام',
'این نوشته به عنوان تست',
'دراین مکان قرار داده شده است',
عنوان: پاسخ : تغییر محتوای فایل متنی
ارسال شده توسط: احمد حمزه ئی در 19 اردیبهشت 1394، 03:43 ب‌ظ
با عرض سلام خدمت عزیزان
یک فایل txt دارم که شامل چند هزار خط میباشد، چگونه میتوانم اول و آخر هر خط چیزی اضافه کنم؟(محتوای فایل به زبان فارسی هست)
مثلا تغییر این فایل:
سلام
این نوشته به عنوان تست
دراین مکان قرار داده شده است

به:
'سلام',
'این نوشته به عنوان تست',
'دراین مکان قرار داده شده است',

درود
یک فایل به نام quot.py درست کن و اینا رو بریز توش:
#!/usr/bin/env python3
import sys
with open(sys.argv[1], encoding='utf-8') as textfile:
    for line in textfile:
        print("'" + line.strip() + "',")

بعد برو تو پوشه ای که فایل رو ساختی و اینا رو بزن:
chmod +x quot.py
./quot.py sampletext >outputfile

که تو دستور بالایی sampletext اسم فایل txt هست.
خروجی تو outputfile ریخته میشه.

دقت کن که فایل quot.py و فایل txt تو یه پوشه باشن و encoding فایل متنی utf-8 باشه.
برای اطمینان میتونی فایل رو با gedit باز کنی و از قسمت File -> Save As -> Character Encoding رمزگذاری رو روی utf-8 تنظیم کنی.
فایل پشتیبان هم تهیه کن تا چند هزار خط نپره.
همین!
عنوان: پاسخ : تغییر محتوای فایل متنی
ارسال شده توسط: بی نام تا اطلاع ثانوی در 19 اردیبهشت 1394، 03:55 ب‌ظ
ممنون جناب حمزه‌ئی
عنوان: پاسخ : تغییر محتوای فایل متنی
ارسال شده توسط: doomhammer65ir در 19 اردیبهشت 1394، 10:46 ب‌ظ
........................................
عنوان: پاسخ : تغییر محتوای فایل متنی
ارسال شده توسط: بی نام تا اطلاع ثانوی در 20 اردیبهشت 1394، 07:58 ب‌ظ
جدا جدا برای اینکه حالیت شه

ادب مرد، به ز دولت اوست
عنوان: پاسخ : تغییر محتوای فایل متنی
ارسال شده توسط: علی در 20 اردیبهشت 1394، 11:25 ب‌ظ
یک دستور دیگه در ترمینال داریم به اسم awk

برای کار شما سینتکس ساده ای داره :
awk '{print "start"$0"end"}' test.txt >>test1.txt بجای start هر حرف یا کلمه ای یا جمله ای  که نیاز دارید در ابتدای هر خط قرار بگیره قرار بدید و به جای end هم هر حرف یا کلمه یا جمله ای که در انتهای هر خط باید اضافه بشه .
نتیجه هم در فایل test1.txt قرار میگیره و فایل اصلی سالم می مونه
عنوان: پاسخ : تغییر محتوای فایل متنی
ارسال شده توسط: بی نام تا اطلاع ثانوی در 21 اردیبهشت 1394، 12:01 ق‌ظ
یک دستور دیگه در ترمینال داریم به اسم awk

برای کار شما سینتکس ساده ای داره :
awk '{print "start"$0"end"}' test.txt >>test1.txt بجای start هر حرف یا کلمه ای یا جمله ای  که نیاز دارید در ابتدای هر خط قرار بگیره قرار بدید و به جای end هم هر حرف یا کلمه یا جمله ای که در انتهای هر خط باید اضافه بشه .
نتیجه هم در فایل test1.txt قرار میگیره و فایل اصلی سالم می مونه

ممنون دوست عزیز