মাল্টি-গিগাবাইট টেক্সট ফাইলগুলি কীভাবে সম্পাদনা করবেন? ভিম কাজ করে না = ([বন্ধ]


112

এমন কোনও সম্পাদক আছে যা একাধিকবার কেবল মেমরিতে ছোট্ট অংশ লোড করে মাল্টি-গিগাবাটি পাঠ্য ফাইলগুলি সম্পাদনা করতে পারে? দেখে মনে হচ্ছে না যে ভিম এটি পরিচালনা করতে পারে = ((


আমি ভিমে সত্যই বড় ডেটা অর্জনের ফাইলগুলি লোড করেছি এবং এটি সমস্যা ছাড়াই এগুলি পরিচালনা করে hand
রক

আপনার সম্পাদনা প্রয়োজনের উপর নির্ভর করে, আপনি কেবল অনুসন্ধান এবং প্রতিস্থাপনের জন্য সেড বা পার্লের মতো কিছু দিয়ে এটি পাইপ করতে সক্ষম হতে পারেন।
এল ইয়োবো

23
আসলে এটি অফ-টপিক নয়, অনেক প্রোগ্রামার ভিআইএম ব্যবহার করেন, কখনও কখনও ইউআই সম্পাদকের পরিপূরক হিসাবে। টপিক প্রশ্নটি আসল সমস্যা সম্পর্কে। এই ধরণের কাজের জন্য আমরা কেবল দুটি ভাল সুইস আর্মি সরঞ্জামই জানি, সুতরাং দয়া করে ভিমকে খুব বিদেশী বা অফ-সাইট হিসাবে ব্যবহার করবেন না। SO মানুষের জন্য।
সাওওমির লেনার্ট

এটি বন্ধ করার পরিবর্তে, কেন এটি সুপার ইউজার বা লিনাক্স / ইউনিক্স বা ভিআইএম-এ স্থানান্তরিত করবেন না?
ব্যবহারকারী 1271772

উত্তর:


72

আপনি * স্নো হয় (এবং অভিমানী আপনি ফাইলের শুধুমাত্র অংশ (এবং খুব কমই) সংশোধন করতে আছে) থাকে, তাহলে আপনি ফাইল (ব্যবহার বিভক্ত পারে splitকমান্ড), পৃথকভাবে তাদের সম্পাদনা করুন (ব্যবহার awk, sedবা অনুরূপ কিছু) এবং তোমার পরে তাদের কনক্যাটেনেট সমাপ্ত হল.

cat file2 file3 >> file1

10
দুর্দান্ত টিপ। আমার একটি 13 জিবি (152.000.000 লাইন) স্কেল-ফাইল ছিল, এবং কেবল "স্প্লিট-এল 1000000" ব্যবহার করে তারপরে আমি যে দশ মিলিয়ন লাইন ফাইলগুলিতে ভিমে চেয়েছিলাম সেখানে সম্পাদনা করে দুর্দান্ত কাজ করেছি। তাদের বিভক্ত করতে 10 মিনিট সময় নিয়েছে। (আমি ভিআইএম দিয়ে মূল ফাইলটি খোলার চেষ্টা করেছি এবং এটি কাজ করেছে, তবে এটি ব্যবহারযোগ্য হওয়া খুব ধীর ছিল))
ক্লেস মোগরেন

149

Ctrl-C ফাইলের লোড বন্ধ করবে। যদি ফাইলটি যথেষ্ট ছোট হয় তবে আপনি সমস্ত বিষয়বস্তু লোড করার জন্য ভাগ্যবান হতে পারেন এবং পোস্টের লোড পদক্ষেপগুলি সবেমাত্র মেরে ফেলেছেন। এই টিপটি ব্যবহার করার সময় পুরো ফাইলটি লোড হয়েছে কিনা তা যাচাই করুন।

ভিম বড় ফাইলগুলি বেশ ভালভাবে পরিচালনা করতে পারে। আমি সবেমাত্র একটি 3.4 জিবি ফাইল সম্পাদনা করেছি, লাইন মুছে ফেলা ইত্যাদি Three তিনটি বিষয় মনে রাখা উচিত:

  1. Ctrl-C টিপুন: ভিম পুরো ফাইলটি প্রথমে পড়ার চেষ্টা করে, সিনট্যাক্স হাইলাইটিং এবং ফাইলের লাইন সংখ্যা ইত্যাদির মতো কাজ করার চেষ্টা করে। Ctrl-C এই গণনাটি (এবং সিনট্যাক্স হাইলাইটিং) বাতিল করে দেবে, এবং এটি কেবলমাত্র লোড করবে আপনার পর্দায় প্রদর্শিত প্রয়োজন।
  2. কেবলমাত্র পঠনযোগ্য: যখন ফাইলটি তৈরির জন্য খুব বড় হয় তখন ভিম সম্ভবত পঠনযোগ্যতা শুরু করবে। সম্পাদনাগুলি সম্পাদনা করতে ফাইল অনুলিপি করুন। আমার ডাব্লু! ফাইলটি সংরক্ষণ করতে এবং এটি যখন সবচেয়ে বেশি সময় নিয়েছিল that's
  3. লাইনে যান: টাইপিং :115355আপনাকে সরাসরি 115355 লাইনে নিয়ে যাবে, যা বড় আকারের ফাইলগুলিতে দ্রুত গতিতে চলেছে। ভিম প্রথমবার স্ক্যানিং শুরু করে বলে মনে হচ্ছে যতবার এটি লাইনগুলির একটি বাফার লোড করে, এবং ফাইলটির মাধ্যমে স্ক্যান করতে Ctrl-F চেপে ধরেছিল এটির শেষের কাছেই সত্যিই ধীর হয়ে গেছে।

দ্রষ্টব্য - আপনি যদি Ctrl-C তে আঘাত করেছেন বলে আপনার ভিম উদাহরণটি কেবল পঠনযোগ্যভাবে হয় তবে সম্ভবত ভিম পুরো ফাইলটি বাফারে লোড করেন নি। যদি এটি হয় তবে এটি সংরক্ষণ করা কেবলমাত্র বাফারে যা আছে তা সংরক্ষণ করবে, পুরো ফাইলটি নয়Gআপনার ফাইলের সমস্ত লাইন আছে কিনা তা নিশ্চিত করার জন্য আপনি শেষের দিকে যেতে খুব দ্রুত পরীক্ষা করতে পারেন।


14
এই পরামর্শটি ব্যবহার করে 44 গিগাবাইট উইকিপিডিয়া এক্সএমএল ডাম্পের সাথে ডিল করতে সক্ষম হয়েছিল। (Ctrl-C)।
ভ্যানক্যানটিটি

1
উইন্ডোতে 2.5 জিবি লগ ফাইলটি পড়ার চেষ্টা করা হয়েছে। জিভিআইমে খোলার ফলে মেমরির ত্রুটি থেকে বেরিয়ে আসে যখন এটি বরাদ্দ করা 2 জিবি মেমরি অতিক্রম করে। সিটিআরএল-সি ট্রিক চেষ্টা করার সময়, এটি মেমরিতে ফাইল লোড করা বন্ধ করে দেয় না তবে কেবলমাত্র জিভিআইএম লোড করতে সক্ষম ফাইলটির সেই অংশটি দেখার অনুমতি দেয়। তাই আমি যত বেশি ফাইল দেখতে পেলাম ctrl-c চাপার আগে আমি অপেক্ষা করছিলাম। ফাইলের শেষে নেভিগেট করা বা ফাইলটির বাকী অংশ লোড করা অসম্ভব (বা কীভাবে আমি জানতাম না)। কিন্ডা হতাশ হয়েছিলেন যে ভিআইএম কাজটি করতে পারেনি: (শেষ পর্যন্ত আমি ফাইলটি 100
এমবি

14
আমার জন্য কাজ করে না। আমি একটি 3 জিবি ফাইল লোড করি, সিটিআরএল-সি টিপুন এবং তারপরে সামগ্রীগুলি প্রদর্শিত হবে। আমি স্ক্রোল ইত্যাদি সম্পাদনা করতে পারি তবে যখন আমি লোড হওয়া অংশের শেষের দিকে পৌঁছে যাই (আসুন 5% বলি) এটি আর লোড হবে না (আমি ফাইলের সেই অংশের সাথে আটকে আছি যেটি প্রাথমিকভাবে লোড হওয়া পয়েন্ট পর্যন্ত আমি সিআরটিএল-সি চাপলাম)
প্যাট্রিক

1
নিশ্চিত, ব্যবহারকারী 3338098। আপনি যদি Ctrl-C টিপেন এবং এটি পুরো ফাইলটি লোড না করে (অন্যরা যেমন কথা বলেছে), এটি সংরক্ষণ করা কেবলমাত্র আপনার বোঝা যা সঞ্চয় করে তা সংরক্ষণ করে। সম্ভবত এটি প্রথম স্থানটিতে কেবল পাঠ্যপুস্তকে যায়। আমি আমার রিডোনলি পয়েন্টটি আপডেট করব note
অ্যারন আর।

16
এই নির্দেশাবলী অনুসরণ করার ফলে আমার সবেমাত্র ডাউনলোড করা একটি বিশাল ফাইল নষ্ট হয়ে গেছে। আপনাকে পয়েন্ট 2 সম্পূর্ণরূপে অপসারণ করতে হবে কারণ এটি মূলত এমন নির্দেশাবলী দেয় যা ডেটা ক্ষতিগ্রস্থ করে, যা আপনি পোস্টের শেষ অবধি উল্লেখ করেন না।
নিওবাইট

75

এটি প্লাগিনগুলি হতে পারে যা এটিকে দম বন্ধ করে দিচ্ছে। (সিনট্যাক্স হাইলাইটিং, ভাঁজ ইত্যাদি)

আপনি প্লাগইন ছাড়াই ভিএম চালাতে পারেন।

vim -u "NONE" hugefile.log

এটি সংক্ষিপ্তবাদী তবে এটি আপনাকে ব্যবহার করা এমন গতি কমপক্ষে আপনাকে দেবে।

syntax off

অন্য একটি সুস্পষ্ট। আপনার ইনস্টল ডাউন এবং আপনার যা প্রয়োজন উত্স, তা ছাঁটাই করুন। এটি কী সক্ষম এবং আপনি যদি অন্য উপায়ে কোনও কাজ সম্পাদন করতে চান তবে আপনি তা খুঁজে পাবেন।


3
এটি এখনও পুরো ফাইলটি র‍্যামে লোড করে ...
টোটার

@ টোটো হ্যাঁ, আমি প্রথমে ফাইলটি বিভক্ত করব তবে এ সেটিংটি দ্রুত এলোমেলো অটোমোমন্ডস বন্ধ করে আপনাকে সেরা ভিএম পারফরম্যান্স দেবে। আমার বক্তব্য ছিল। শালীন মেমরিযুক্ত ওয়ার্কস্টেশনগুলিতে একটি গিগের কাছে পৌঁছানো ফাইলগুলি পরিচালনা করতে সক্ষম হওয়া উচিত।
মাইকেল 25

2
ভার্চুয়াল মেমরির 10 গুণ আকারের ফাইলটি যখন ভিএম / ভিআই অকেজো হয়?
ব্যবহারকারী 3338098

1
আমি এই আদেশটি 2 সেকেন্ডের মধ্যে 250 এমবি ফাইল খুলতে ব্যবহার করেছি। আশ্চর্যজনক
ব্যবহারকারী 674669

20

বিভাজন + ভিআইএম সমাধান সহ @ আল পাচিওর দেওয়া উত্তরের সামান্য উন্নতি আপনি একটি গ্লোব দিয়ে ফাইলগুলি পড়তে পারেন, কার্যকরভাবে ফাইল বাছাই করে বাফার হিসাবে ফাইল খণ্ডগুলি ব্যবহার করতে পারেন

$ split -l 5000 myBigFile
xaa
xab
xac
...

$ vim xa*
#edit the files

:nw  #skip forward and write
:n!  #skip forward and don't save 

:Nw  #skip back and write
:N!  #skip back and don't save


8

আমি যখন এসকিউএল ডাম্পে কিছুটা ছোট পরিবর্তন করার প্রয়োজন হয় তখন বেশিরভাগ 1 জিবি জুড়ে ফাইলগুলি দিয়ে আমি চেষ্টা করেছিলাম। আমি উইন্ডোজ এ যা এটি একটি বড় ব্যথা করে তোলে। এটা মারাত্মক কঠিন।

সুস্পষ্ট প্রশ্নটি "আপনার দরকার কেন?" একাধিকবার এটি চেষ্টা করার অভিজ্ঞতা থেকে আমি আপনাকে বলতে পারি, আপনি সম্ভবত সত্যই অন্য উপায় খুঁজে বের করতে চেষ্টা করতে চান।

তাহলে তুমি কিভাবে এটা করেছ? আমি এটি সম্পন্ন করার কয়েকটি উপায় রয়েছে। কখনও কখনও আমি ফাইলটি খুলতে ভিম বা ন্যানো পেতে পারি এবং আমি সেগুলি ব্যবহার করতে পারি। এটি সত্যিই শক্ত ব্যথা, তবে এটি কার্যকর।

যখন এটি কাজ করে না (যেমন আপনার ক্ষেত্রে আছে) আপনার কাছে কেবল কয়েকটি বিকল্প রয়েছে। আপনার প্রয়োজনীয় পরিবর্তনগুলি করার জন্য আপনি একটি সামান্য প্রোগ্রাম লিখতে পারেন (উদাহরণস্বরূপ, অনুসন্ধান এবং প্রতিস্থাপন)। আপনি একটি কমান্ড লাইন প্রোগ্রাম ব্যবহার করতে পারেন যা এটি করতে সক্ষম হতে পারে (সম্ভবত এটি সেড / অ্যাজক / গ্রেপ / ইত্যাদি দিয়ে সম্পন্ন হতে পারে?)

যদি এটি কাজ না করে, আপনি সর্বদা ফাইলটিকে খণ্ডগুলিতে বিভক্ত করতে পারেন ( স্প্লিটের মতো কিছু হ'ল সুস্পষ্ট পছন্দ, তবে আপনি যে অংশটি চান তা পেতে মাথা / লেজ ব্যবহার করতে পারেন) এবং তারপরে যে অংশটি প্রয়োজন তা সম্পাদনা করতে পারেন, এবং পরে পুনরুদ্ধার।

আমাকে বিশ্বাস করুন, তবে অন্য কোনও উপায় সন্ধান করার চেষ্টা করুন।


3
সাধারণত সেড আপনার ক্ষেত্রে বন্ধু হয়। আপনার সম্পাদক কোনও ফাইলের শীর্ষে কয়েকটি অক্ষর সন্নিবেশ করানো এবং কীভাবে সমস্ত কিছুকে নীচে নামাতে হয় তা নির্ধারণের চিন্তাভাবনাটি সত্যই পছন্দ করে না।
dkretz

@ এল ডরফায়ার: হ্যাঁ যখন আমি অনুসন্ধান / প্রতিস্থাপন করতে হত তখন আমি সেড ব্যবহার করতাম। যখন আমি এই জাতীয় কোনও ফাইল থেকে কয়েকটি লাইন মুছতে হয়েছিল (কয়েকটি উন্মত্ত দীর্ঘ লাইন) আমি এটি ভিএম-তে পরিচালনা করতে পেরেছিলাম, তবে আপনি অনুমান করতে পারেন যে লাইনের মধ্যবর্তী স্থানে চলমান (পাশাপাশি প্রকৃত মোছা) বেশ খানিকটা সময় নিয়েছে (সেকেন্ডে + প্রতিক্রিয়া জানাতে এবং পুনরায় আঁকা)। আমি এই লাইনের একটিতে কয়েকটি চিঠি যুক্ত করার চেষ্টা করতে চাই না।
এমবিকুক

একই সমস্যাটি হুবহু .... একটি বড় টেবিলের জন্য এসকিউএল স্ক্রিপ্টের শীর্ষে "ব্যবহার করা" বিবৃতি, বা লক্ষ্য সিস্টেমে উপস্থিত নেই এমন একটি ফাইল গ্রুপ। আমি তাদের ফেটে ফ্রি ফাইল স্প্লিটার ব্যবহার করি, আবার যোগদানের জন্য নীচের কমান্ড লাইনটি।
EBarr

6

আমি মনে করি হেক্স সম্পাদকদের পক্ষে বিশাল ফাইল হ্যান্ডেল করা যুক্তিসঙ্গত সাধারণ। উইন্ডোজে, আমি এইচএক্সডি ব্যবহার করি , যা 8 ইবি (8 বিলিয়ন গিগাবাইট) পর্যন্ত ফাইল হ্যান্ডেল করার দাবি করে।


14
তারা কীভাবে এটি পরীক্ষা করেছিল তা জানতে আগ্রহী হব ...: পি
শ্যাডো

লিনাক্সে আমি প্রস্তাব দিইhexedit
এলি

4

চার্জ ক্যাম্পবেলের মাল্টি-গিগাবিট প্লেইন টেক্সট ফাইলগুলি হ্যান্ডেল করার জন্য আমি উইন x এক্স 64৪উইম x.৩.৩ ব্যবহার করছি । এটি সত্যিই ভাল কাজ করে।

আমি আশা করি আপনি ঠিক এসেছেন।


আপনি প্লাগইনটি কীভাবে অক্ষম করতে পারেন? যেমন অন্যান্য সমস্ত এক্সটেনশন পেয়ে যেমন ভিমে কোনও ফাইল খোলা থাকলে আবার কাজ করার জন্য হাইলাইট করা?
এইচএইচ

3

বাহ, কোনও গিগাবাইট বা দুটি সহ এমনকি কখনই ভিমকে দম বন্ধ করতে সক্ষম হয় না। আমি শুনেছি আল্ট্রাএডিট (উইন্ডোজে) এবং বিবিএডিট (ম্যাক্সে) আরও বড় ফাইলগুলির জন্য আরও উপযুক্ত, তবে আমার কোনও ব্যক্তিগত অভিজ্ঞতা নেই।




2

আমি সুপার-লগ ফাইলগুলির জন্য ফার কমান্ডারের অন্তর্নির্মিত সম্পাদক / দর্শক ব্যবহার করেছি।



1

এরকম কোনও কিছুর জন্য আমি যে জিনিসটি ব্যবহার করতে সক্ষম হয়েছি তা হ'ল আমার প্রিয় ম্যাক হেক্স সম্পাদক, 0 এক্সইডি। যাইহোক, এটি সেই ফাইলগুলির সাথে আমি দশকে মেগাবাইটে বড় মনে করি। আমি নিশ্চিত না যে এটি কতদূর যাবে। আমি নিশ্চিত যে এটি কেবল ফাইলের কিছু অংশ একবারে মেমোরিতে লোড করে।


0

অতীতে ফাইলগুলি খুব বড় হয়ে গেলে আমি সফলভাবে একটি বিভক্ত / সম্পাদনা / যোগদানের পদ্ধতির ব্যবহার করেছি। এটি কাজ করার জন্য আপনাকে মূল ফাইলটিতে সম্পাদনা করার পাঠ্যটি কোথায় তা সম্পর্কে জানতে হবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.