আমার grep -v
প্রশ্নের সাথে সম্পর্কিত একটি অদ্ভুত সমস্যা আছে । আমাকে ব্যাখ্যা করার অনুমতি দিন:
সংযোগগুলি প্রদর্শন করতে আমি ব্যবহার করি who
:
$ who
harry pts/0 2016-12-08 20:41 (192.168.0.1)
james pts/1 2016-12-08 19:28 (192.168.0.1)
timothy pts/2 2016-12-08 02:44 (192.168.0.1)
tty
আমার টার্মিনালের বর্তমানpts/0
$ tty
/dev/pts/0
$ tty | cut -f3-4 -d'/'
pts/0
আমি নিজের সংযোগটি ব্যবহার করে বাদ দেওয়ার চেষ্টা করি grep -v $(tty | cut -f3-4 -d'/')
। এই কমান্ডটির প্রত্যাশিত আউটপুটটি who
আমার সংযোগ ছাড়াই হওয়া উচিত । তবে আউটপুটটি সবচেয়ে অপ্রত্যাশিত:
$ who | grep -v $(tty | cut -f3-4 -d'/')
grep: a: No such file or directory
grep: tty: No such file or directory
আমি $(...)
উদ্ধৃতিগুলি আবদ্ধ করেছি এবং এটি "এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই" সমস্যাটি ঠিক করছে বলে মনে হচ্ছে। তবে, আমার সংযোগটি এখনও ছাপা হয়েছে যদিও আমার টিটি ( pts/0
) বাদ দেওয়া উচিত ছিল:
$ who | grep -v "$(tty | cut -f3-4 -d'/')"
harry pts/0 2016-12-08 20:41 (192.168.0.1)
james pts/1 2016-12-08 19:28 (192.168.0.1)
timothy pts/2 2016-12-08 02:44 (192.168.0.1)
এই বিন্দু হিসাবে, কেন grep
কোয়েরিটি ত্রুটিযুক্ত তা আমার সম্পূর্ণ ধারণা নেই ।
grep
"টিটিআই নন" ing আমি কীভাবে আপনি এটি সম্পর্কে পরামর্শ দিতে চান?
set -x
প্রথমে কীভাবে ব্যবহার করবেন ... তারপরে আপনার কমান্ডটি চালান এবং দেখুন আপনি আসলে কী চেষ্টা করছেনgrep
...