ফাইল:
O000000667520994000000074720121112000000N^@^@^@
আমি নীচের কমান্ডটি ব্যবহার করেছি তবে এটি কার্যকর হয় না।
grep "^@^@^@" *
ফাইল:
O000000667520994000000074720121112000000N^@^@^@
আমি নীচের কমান্ডটি ব্যবহার করেছি তবে এটি কার্যকর হয় না।
grep "^@^@^@" *
উত্তর:
আপনি তার হেক্স কোড দ্বারা পার্ল-রিজেক্সপ মোডে (-পি) কন্ট্রোল / অ-মুদ্রণযোগ্য অক্ষর সহ যে কোনও অক্ষরের জন্য গ্রেপ করতে পারেন:
grep -Pa '\x00' ...
grep -Pv '\x00' file
...
-a
(কখনও কখনও?) এটি প্যাটার্নটিও খুঁজে পায় না। ধন্যবাদ! @ Pbies পাশাপাশি সহায়তা করতে পারে।
^@
এটি ক্যারেট ^
এবং স্বাক্ষর নয় @
, এটি একটি চরিত্র। এটি কিছু প্রোগ্রাম NUL অক্ষর প্রদর্শন করে — ASCII মান 0, \0
সি হিসাবেও পরিচিত It's
এখানে আমি এটিতে একটি NUL বাইট সহ একটি ফাইল তৈরি করেছি। † লক্ষ্য করুন যে আমি cat -v
মুদ্রণবিহীন অক্ষরগুলি প্রদর্শন করতে ব্যবহার করি ।
$ cat -v blah
hello
null^@
hi
$ hexdump -C blah
00000000 68 65 6c 6c 6f 0a 6e 75 6c 6c 00 0a 68 69 0a |hello.null..hi.|
0000000f
সিপিতে স্ট্রিং বন্ধ করতে ব্যবহৃত হওয়ায় গ্রেপকে এনইউলগুলি খুঁজে পেতে সমস্যা হয় তবে যাইহোক, কাজটি করতে পারেন:
$ sed -n '/\x0/p' blah
null
$ sed -n '/\x0/p' blah | cat -v
null^@
† সালে ষষ্ঠ, সন্নিবেশ করুন মোড সংবাদ মাধ্যমে Ctrl- V, Ctrl- Shift- @একটি নাল বাইট সন্নিবেশ করতে।
ব্যাশ আপনি বিশেষ অক্ষর যখন প্রিফিক্স যোগ করতে পারেন C-q
বা C-v
। সুতরাং আপনি উদাহরণস্বরূপ পারেন
grep 'Ctrl-vCtrl-a' file.txt
অনুসন্ধান স্ট্রিং হিসেবে পড়তে হবে control key
+ + character v
, দ্বারা অনুসরণ control key
+ + character a
, যা হওয়া ASCII মান SOH (01) জন্য অনুসন্ধান। দুর্ভাগ্যক্রমে এটি NUL চরিত্রের জন্য কাজ করে না।
^ @ হল নুল চরিত্র। এতে থাকা ফাইলগুলির লাইনগুলি দিয়ে আপনি কী করতে চান?
আপনি /programming/2398393/uthorfying- এবং-removing-null-characters-in-unix এ দেখতে পারেন যা একই ধরণের সমস্যার সাথে সম্পর্কিত।
চরিত্র ^ @ হ'ল নুল চর, সুতরাং আমি আশঙ্কা করি যে এটি সরাসরি গ্রেপ করা যায় না।
আপনার সেরা বিকল্পটি সম্ভবত একটি সাধারণ প্রোগ্রাম লিখতে হবে যা বাইটগুলির এই ক্রমটি অনুসন্ধান করে।
অন্যথায় আপনি এটি হেক্সাডেসিমেল ডাম্প (কিছু ফর্ম মধ্যে রূপান্তর করতে চেষ্টা করতে পারেন od
, xxd
তাই বা) এবং grep এটা আউটপুট মধ্যে। তবে খোলামেলাভাবে বললে, এটি সঠিকভাবে পাওয়া শক্ত হবে।
-a
বিকল্প যুক্ত করতে চাইতে পারেন , অন্যথায়grep
এটি বাইনারি ডেটা মনে করে এবং ম্যাচিং লাইনগুলি প্রদর্শন করবে না।