কমান্ড লাইন থেকে কোনও ফাইলে পাঠ্য যুক্ত করার দ্রুততম উপায় কী?


29

মাঝেমধ্যে আমার মনে হয় যে আমি টার্মিনালে থাকাকালীন কোনও ফাইল লিখতে চাই। আমি এই নোটগুলি একই ফাইলটিতে চাইব, কেবল একের পর এক তালিকাবদ্ধ। আমি প্রত্যেকের একটি তারিখ / সময় ট্যাগ চাই।

প্রতিবার ফাইলটি না খোলার মাধ্যমে কি এটি করা সম্ভব? আমি কি কেবল এটি টার্মিনালে প্রবেশ করতে পারি এবং প্রতিবার একটি কমান্ড বা স্ক্রিপ্ট দিয়ে ফাইলটিতে যুক্ত করতে পারি?

আমি জিএনইউ বাস ব্যবহার করছি।

উত্তর:


25

নিজেকে "এন" নামে একটি শেল স্ক্রিপ্ট লিখুন। এটি এতে রাখুন:

#!/bin/sh
notefile=/home/me/notefile
date >> $notefile
emacs $notefile -f end-of-buffer

আমি এর পরিবর্তে এটি প্রস্তাব করি cat >> notefileকারণ:

  1. একদিন আপনি এমন তাড়াহুড়ো হয়ে যাবেন যে আপনি এর পরিবর্তে >> এবং টাইপ করুন> টাইপ করুন এবং আপনার ফাইলটি উড়িয়ে দেবেন।
  2. ইম্যাক্স আমার ম্যাক মিনিতে সেকেন্ডের পাঁচ একশতভাগে শুরু হয় । আমার চারপাশে বসে থাকা দশ বছরের পুরনো সেলারন-ভিত্তিক সিস্টেমটি শুরু করতে এটি সেকেন্ডের দশমাংশ সময় লাগে। আপনি যদি টাইপ করা শুরু করতে এতক্ষণ অপেক্ষা করতে না পারেন তবে আপনি ইতিমধ্যে একটি মেশিন এবং নোট নেওয়ার দরকার নেই। :)

আপনি যদি কোনও পাঠ্য সম্পাদককে এড়িয়ে চলতে জোর করেন তবে শেল ফাংশনটি ব্যবহার করুন:

n () { date >> /home/me/notefile; cat >> /home/me/notefile; }

যা বোর্নে শেল সামঞ্জস্যতার দাবি করে সমস্ত শেলগুলিতে কাজ করা উচিত।


1
nফাংশনটি কীভাবে ফাইলটিতে লিখবে? আপনি কি ইউউওসি-রecho "$*" পরিবর্তে কিছু বোঝাতে চাইছেন না ? এটি কীভাবে তারিখ / সময় ট্যাগ সংযুক্ত করে?
jasonwryan

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

আমি অগত্যা ইউইউওসি সম্পর্কে একমত হই না, তবে আপনি কি তারিখটির জন্য ফিরে
এসেছেন

5
+1 দুর্দান্ত প্রতিরক্ষামূলক কোডিং এবং অনিবার্য টাইপের বিরুদ্ধে যুক্তি।
এমএসডাব্লু

2
কাইল, আপনার কাছে অবশ্যই 90MB নেই .emacs.d। হ্যাঁ, আমার এটি পরিষ্কার করা দরকার।
কোডলিবিউটর

18

কমান্ড লাইন থেকে কোনও ফাইলে একাধিক লাইন লিখতে, করুন:

cat >> sometextfile.txt << EOF
text
more text
and another line
EOF

অথবা cat > sometextfile.txt << EOFবিদ্যমান ফাইলটি ওভাররাইট করতে।
mbomb007

10

শুধু ব্যবহার করুন echo:

echo $(date) Hi. >> notes.txt

আপনি >> কোনও ফাইলের সাথে সংযুক্ত করতে >> বা এটি ওভাররাইট করতে> ব্যবহার করতে পারেন।



2

আপনি যদি আপনার কম্পিউটারে রুবি ইনস্টল করেন তবে আপনি https://github.com/minhajuddin/taskr ব্যবহার করতে পারেন । আপনি ট্যাগ এবং ঘন্টা কেটে গেছে সহ আপনার নোটগুলির একটি দুর্দান্ত ভিউ পাবেন।

টাস্কর স্ক্রিনশট


ঠিক আছে, স্ক্রিনশটগুলি প্রায়শই খুব ভাল দেখায় তবে আপনি যদি কপি-পেস্ট ব্যবহার করেন তবে এটি আরও ভাল।
পিটার বলেছেন

1

আপনার প্রয়োজনের উপর নির্ভর করে, সিসলোগড অনুধাবন করার অন্য একটি সরঞ্জাম হতে পারে। আদেশ

theuser@tetrad:~$ logger This message is sent to syslog

ইউজার.নোটাইস সুবিধা দিয়ে বার্তাটি লগ করবে। অনেকগুলি লিনাক্স সিস্টেমের সাথে এটি /var/log/user.log ফাইল খোলা এবং সংযুক্ত করা যথেষ্ট, অন্যদের সাথে আপনার সেই সুবিধা এবং লগ স্তরের (অথবা, যে কোনও সুবিধা আপনি চয়ন করেন - স্থানীয় ০ স্থানীয় 7 টি সুবিধাগুলি সাধারণত এ জাতীয় জিনিসগুলিতে নির্ধারিত হয়।

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

স্থানীয় ফাইলের ফলাফল ফলে:

theuser@tetrad:~$ tail /var/log/user.log
Jan 31 07:18:37 tetrad theuser: This message is sent to syslog

সোলারিসে সিসলগ কনফিগারেশন লাইনের উদাহরণ :

local5.notice             ifdef(`LOGHOST', /var/log/diary, @loghost)

নোট: হোস্টনাম / হোস্টালিয়াস "লঘস্ট" এর সাহায্যে মেশিনে ifdefপ্রি- m4প্রসেসড করা হয়েছে, বার্তাগুলি ফাইল / ভার / লগ / ডায়েরিতে লগ করা হবে, অন্য সকলের উপর, সেগুলি লগস্টে রিমোট সিসলোগ পরিষেবাদিতে প্রেরণ করা হবে। এই ধরণের কনফিগারেশনটি পরীক্ষা করতে, কনফিগারেশন ফাইলটি এম 4 এর মাধ্যমে প্রসারণের জন্য প্রেরণ করা যেতে পারে ( -D LOGHOSTএটি কীভাবে লোগোস্ট নামে পরিচিত না এমন কোনও সিস্টেমে দেখায় তা দেখতে ছেড়ে দিন :

theuser@solstice$ /usr/ccs/bin/m4 -D LOGHOST /etc/syslog.conf

1

সাধারণ শেল স্ক্রিপ্টের চেয়ে আপনি যা চেয়েছিলেন তা টাস্কওয়ারিয়ার হয়ত করতে পারে। 30 সেকেন্ডের টিউটোরিয়াল তোমাকে বলব? আমি যদি ভুল বা ঠিক আছি।


1
echo "`date` text here" >> filename

অথবা

echo "text here `date`"|tee -a filename

সম্পর্কে আরও টী বর্ণের নাম



1
এটির জন্য মূল্যবান, আমি $(..)কমান্ড প্রতিস্থাপনের জন্য ব্যাকটিকগুলি ব্যবহার করার পরামর্শ দেব । আরও তথ্য: unix.stackexchange.com/questions/11576/…
রাহমু

0

আমি যা চেয়েছিলাম তা অর্জন করতে কয়েকটি ভিন্ন উত্তরের সংমিশ্রণ, যা একাধিক বিকল্প ছিল।

  1. দ্রুত
    ব্যবহারকারী @ হোস্টনাম: ~ / নথি ments প্রতিধ্বনি পাঠ্য >> ফাইলের নাম
    ব্যবহারকারী @ হোস্টনাম: ~ / নথি $ বিড়ালের ফাইল নাম
    পাঠ
    
  2. একাধিক লাইন
    ব্যবহারকারী @ হোস্টনাম: ~ / নথি ments বিড়াল >> ফাইলের নাম 2 << ইওফ
    > পাঠ্য লাইন 1
    > পাঠ্য লাইন 2
    > পাঠ্য লাইন 3
    > ইওএফ
    ব্যবহারকারী @ হোস্টনাম: ~ / নথি ments বিড়াল ফাইলের নাম 2  
    পাঠ্য লাইন 1
    পাঠ্য লাইন 2
    পাঠ্য লাইন 3
    
    1. প্রদত্ত লাইন নম্বরটিতে একটি ফাইল পরিবর্তন করুন

      ব্যবহারকারী @ হোস্টনাম: ~ / ডকুমেন্টস $ সেড -i '2 লাইনে নতুন ফাইল' ফাইলের নাম 2
      ব্যবহারকারী @ হোস্টনাম: ~ / নথি ments বিড়াল ফাইলের নাম 2
      পাঠ্য লাইন 1
      নতুন লাইন .োকানো হচ্ছে
      পাঠ্য লাইন 2
      পাঠ্য লাইন 3
      
    আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
    Licensed under cc by-sa 3.0 with attribution required.