পাঠ্য ফাইল থেকে সেই লাইনটি মোছার সময় কীভাবে কোনও ইনপুট পাঠ্য ফাইলের প্রথম লাইন পাবেন


11

পাঠ্য ফাইল থেকে সেই লাইনটি মোছার সময় আমি কীভাবে কোনও ইনপুট পাঠ্য ফাইলের প্রথম লাইন পেতে পারি?

আমি যদি /myPathToTheFile.txtএই মত একটি টেক্সট ফাইল ছিল

► put returns between paragraphs
► for linebreak add 2 spaces at end
► _italic_ or **bold**

আমি এই লাইনটি আউটপুট হিসাবে পেতে চাই

► put returns between paragraphs

এবং আমার পাঠ্য ফাইলটি এখন এই জাতীয় হওয়া উচিত

► for linebreak add 2 spaces at end
► _italic_ or **bold*

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

উত্তর:


13
ex -s /myPathToTheFile.txt <<\EX
1p
1d
wq
EX

অথবা

ex -s /myPathToTheFile.txt <<< 1p$'\n'1d$'\n'wq

বা, কম টাইপিং:

ed -s /myPathToTheFile.txt <<< $'1\nd\nwq'

বাহ, এডের দুর্দান্ত ব্যবহার ...!
qwr

10

কমপক্ষে জিএনইউ সিডের সাথে:

$ cat file
► put returns between paragraphs
► for linebreak add 2 spaces at end
► _italic_ or **bold**

$ sed -i '1{
w /dev/stdout
d}' file
► put returns between paragraphs

$ cat file
► for linebreak add 2 spaces at end
► _italic_ or **bold**

জিএনইউ সেড দিয়ে এটি ওয়ান-লাইনার হিসাবে লেখা যেতে পারে

sed -i -e '1 {w /dev/stdout' -e 'd}' file

6

ধরে নিই যে আপনি শেল স্ক্রিপ্টের জন্য জিজ্ঞাসা করছেন, এটি আপনি যা অনুরোধ করেছেন তা করবে:

NAME=$1
head -n 1 $NAME
sed -i '1d' $NAME


2

আপনি ব্যবহার করতে পারেন head, tailএবং mv:

প্রথম লাইনটি প্রদর্শন করুন:

head -1 myPathToTheFile.txt

শেষ ( +2) লাইনগুলি রাখা:

tail -n +2 myPathToTheFile.txt > file.tmp && mv file.tmp myPathToTheFile.txt

1

ফাইল বর্ণনাকারী এবং কিছুটা ব্যবহার করে python

{
    { 
    head -n1 >&3; 
    3>&- tail -n +1;
    3>&- python -c 'import sys; sys.stdout.truncate(sys.stdout.tell())';
    }<file 1<>file
} 3>&1

1

মাথা এবং লেজ ব্যবহার। ফাইল টার্গেট.টিএসটিএসটি

head -1 target.txt && tail -n+2 target.txt > tmp
mv tmp target.txt && rm tmp

দ্রষ্টব্য: বর্তমান ফোল্ডারে কোনও বিদ্যমান ফাইল টিএমপি নেই তা নিশ্চিত করুন, অন্যথায় এটি সরানো হবে।

ব্যাখ্যা:

  • "হেড -1" প্রথম লাইনটি নির্বাচন করে
  • "লেজ-এন + 2 টার্গেট.টিএসটি> টিএমপি" ২ য় তারিখ থেকে সমস্ত লাইন নির্বাচন করে (সহ) টিএমপি রাখে
  • এমভি মূল ফাইলটি tmp দিয়ে ওভাররাইট করে
  • rm tmp এইভাবে তৈরি tmp ফাইলটি সরিয়ে ফেলবে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.