সংশোধিত তারিখের উপর ভিত্তি করে একাধিক ফাইল একত্রিত করতে এবং প্রতিটি ফাইলে প্রথম লাইনটিকে উপেক্ষা করা যায়


0

আমার নিম্নলিখিত ফাইল আছে:

-rw-r--r--  1 xyz xyz    122 May 01 01:00  Test1
-rw-r--r--  1 xyz xyz    122 May 01 01:00  Test2
-rw-r--r--  1 xyz xyz    122 May 05 05:00  Test3
-rw-r--r--  1 xyz xyz    122 May 05 05:00  Test4

ফাইলগুলির বিষয়বস্তুগুলি কমা দ্বারা পৃথক করা তথ্য অনুসারে, একটি বিবরণ সারি ধারণ করে। উদাহরণ:

test1:

ID, Name, Job, Address
1111, John, Janitor, 1234 Corson Ave

test2:

ID, Name, Job, Address
2222, Tim, Cashier, 3245 Elliot St

যে কেউ একটি কমান্ড সুপারিশ করতে পারেন যা ফাইলটিতে প্রথম লাইনটি উপেক্ষা করে সংশোধিত তারিখের উপর ভিত্তি করে উপরে ফাইলগুলিকে সংযোজন করবে, যা বর্ণনা (আইডি, নাম, কাজ, ঠিকানা)।

যেমন আমি স্ক্রিপ্টের পরে যা চাই তা হল:

May_1_file_after_concatenate:

1111, John, Janitor, 1234 Corson Ave
2222, Tim, Cashier, 3245 Elliot St

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

আমি Centos 7 উপর আছি।


"মার্জ" করে, আপনি "concatenate" এর অর্থ দিয়ে থাকেন, অথবা একই আইডি সহ দুটি ফাইলগুলি দুটি লাইন থাকতে পারে যা বিশেষ চিকিত্সার প্রয়োজন হবে?
choroba

হ্যাঁ। আমি concatenate বোঝানো। একই আইডি এর বিশেষ চিকিত্সার প্রয়োজন নেই যেটি যদি একাধিক থাকে তবে এটি জরিমানা। ধন্যবাদ!
ব্যবহারকারী 3567212

উত্তর:


1

ইন bash, আপনি নিম্নলিখিত স্ক্রিপ্ট ব্যবহার করতে পারেন:

#! /bin/bash
for file in "$@" ; do
    date=$(stat -c%y "$file" | cut -f1 -d' ')
    tail -n+2 "$file" >> "$date"
done

এটি প্রদত্ত ফাইলগুলির উপর পুনরাবৃত্তি করে, এটি থেকে সর্বশেষ সংশোধনের তারিখ উদ্ধার করে এবং তারপরে তারিখ অনুসারে নামযুক্ত একটি ফাইল থেকে লাইন 2 থেকে শুরু করে সবকিছু যোগ করে।

কমান্ড লাইন বা প্যারামিটারগুলিতে ফিট করতে দুটি ফাইল থাকলে, ফাইলগুলির ছোট গোষ্ঠীগুলিতে ক্রমানুসারে ফাইলগুলি (সঙ্গে xargsবা ম্যানুয়ালি) কল করুন।

তারিখ বিন্যাস পরিবর্তন করা সহজ হতে হবে :-)

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