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

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: تغییر محتوای فایل متنی  (دفعات بازدید: 1854 بار)

0 کاربر و 5 مهمان درحال مشاهده موضوع.

آفلاین بی نام تا اطلاع ثانوی

  • Sr. Member
  • *
  • ارسال: 401
  • جنسیت : پسر
تغییر محتوای فایل متنی
« : 19 اردیبهشت 1394، 02:58 ب‌ظ »
با عرض سلام خدمت عزیزان
یک فایل txt دارم که شامل چند هزار خط میباشد، چگونه میتوانم اول و آخر هر خط چیزی اضافه کنم؟(محتوای فایل به زبان فارسی هست)
مثلا تغییر این فایل:
سلام
این نوشته به عنوان تست
دراین مکان قرار داده شده است

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

آفلاین احمد حمزه ئی

  • Jr. Member
  • *
  • ارسال: 66
  • جنسیت : پسر
    • Github
پاسخ : تغییر محتوای فایل متنی
« پاسخ #1 : 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 تنظیم کنی.
فایل پشتیبان هم تهیه کن تا چند هزار خط نپره.
همین!

آفلاین بی نام تا اطلاع ثانوی

  • Sr. Member
  • *
  • ارسال: 401
  • جنسیت : پسر
پاسخ : تغییر محتوای فایل متنی
« پاسخ #2 : 19 اردیبهشت 1394، 03:55 ب‌ظ »
ممنون جناب حمزه‌ئی

آفلاین doomhammer65ir

  • High Hero Member
  • *
  • ارسال: 1572
  • جنسیت : پسر
    • IRAN Backup
پاسخ : تغییر محتوای فایل متنی
« پاسخ #3 : 19 اردیبهشت 1394، 10:46 ب‌ظ »
........................................
« آخرین ویرایش: 21 اردیبهشت 1394، 08:37 ق‌ظ توسط doomhammer65ir »

آفلاین بی نام تا اطلاع ثانوی

  • Sr. Member
  • *
  • ارسال: 401
  • جنسیت : پسر
پاسخ : تغییر محتوای فایل متنی
« پاسخ #4 : 20 اردیبهشت 1394، 07:58 ب‌ظ »
جدا جدا برای اینکه حالیت شه

ادب مرد، به ز دولت اوست

آفلاین علی

  • Jr. Member
  • *
  • ارسال: 67
  • جنسیت : پسر
پاسخ : تغییر محتوای فایل متنی
« پاسخ #5 : 20 اردیبهشت 1394، 11:25 ب‌ظ »
یک دستور دیگه در ترمینال داریم به اسم awk

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

آفلاین بی نام تا اطلاع ثانوی

  • Sr. Member
  • *
  • ارسال: 401
  • جنسیت : پسر
پاسخ : تغییر محتوای فایل متنی
« پاسخ #6 : 21 اردیبهشت 1394، 12:01 ق‌ظ »
یک دستور دیگه در ترمینال داریم به اسم awk

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

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