সেড ব্যবহার করে আপনি কীভাবে কোনও লাইনের প্রথম 'এন' অক্ষর মুদ্রণ করবেন?


110

sedপ্রথম এন অক্ষরগুলি মুদ্রণের জন্য একটি লাইনার কী ব্যবহার করে ? আমি নিম্নলিখিতগুলি করছি:

grep -G 'defn -test.*' OctaneFullTest.clj  | sed ....

উত্তর:


209

ব্যবহার করবেন না sed, ব্যবহার করুন cut:

grep .... | cut -c 1-N

আপনি যদি ব্যবহার করা আবশ্যক sed:

grep ... | sed -e 's/^\(.\{12\}\).*/\1/'

2
আসলে একটি সাইগউইন সিস্টেমে আমি এখন কাজ করছি cutএটি করার সময় এটি কাটবে sedনা।
kqw


1
@ ফেডরকিই -rদৃশ্যত লিনাক্সে উপলভ্য, তবে ম্যাকের জন্য নয়।
পল টমলিন 0

হুবহু, এটি ওএসএক্স-এ উপলব্ধ নয়।
ফেডরকিই 'এসও ক্ষতিগ্রস্থ হওয়া বন্ধ করুন'

1
অবগতির জন্য: cut -c 1-N(যেখানে n একটি সংখ্যা) করে কাজ (cygwin বনাম 2.6, কেটে বনাম 8.25।।) OS X এর উপর ব্যবহার আমার Cygwin ইনস্টলেশনের উপর sed -Eবদলে sed -r, অন্যত্র ব্যবহৃত।
রিংলি

45
colrm x

উদাহরণস্বরূপ, আপনার যদি প্রথম 100 টি অক্ষর প্রয়োজন:

cat file |colrm 101 

এটি প্রায় বছর ধরে চলেছে এবং বেশিরভাগ লিনাক্স এবং বিএসডি-তে থাকে (নিশ্চিতভাবে ফ্রিএসডি) সাধারণত ডিফল্ট হিসাবে by আমি কখনও টাইপ করার কথা মনে করতে পারি না apt-get install colrm


এটি প্রথম 50n অক্ষর দেয় না। এটি পাঠ্যের প্রতিটি লাইনের জন্য n টি অক্ষর দেয়
বিএসএমু

এবং colrmutf8 বুঝতে পারে।
স্কিপি লে গ্র্যান্ড গৌরূ

9

গ্রেপ ব্যবহার করতে হবে না

একটি উদাহরণ:

sed -n '/searchwords/{s/^\(.\{12\}\).*/\1/g;p}' file


4

এন প্রথম অক্ষরগুলি মুদ্রণ করতে আপনি লাইনের শেষ অবধি N + 1 টি অক্ষর মুছে ফেলতে পারেন:

$ sed 's/.//5g' <<< "defn-test"
defn

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