it-swarm.asia

يونيكس القط بدءا من الخط

ما هي أفضل طريقة للإخراج من ملف يبدأ من سطر معين (عدد كبير مثل 70000). شيء مثل:

cat --line=70000 <file>
38
vonhogen

ألقِ نظرة على الذيل ، بشكل أكثر دقة ، إنه - خطوط = + مفتاح N:

tail --lines=+100 <file>
58
Svend

الطريقة الأكثر وضوحا هي tail. قد يكون بناء الجملة مختلفًا قليلاً وفقًا لنظام التشغيل الذي تستخدمه:

tail -n +70000

إذا لم تتمكن من تشغيل tail ، فيمكنك استخدام sed ، لكن قد ينتهي الأمر بشكل أبطأ:

sed -pe '1,69999d'
21
Chris Johnsen

إذا كنت تحتاج بدلاً من رقم السطر إلى بدء الإدراج في السطر الذي يحتوي على $phrase معين ، فجرّب ما يلي.

more -1000 +/"$phrase" yourfilename | sed '1,4d'

-1000 سوف يسرد النص باستمرار حتى 1000 سطر ؛ يمكنك تغيير هذا حسب الحاجة. سيؤدي أمر sed إلى إيقاف أول 4 سطور من الإخراج ، والتي تم إدراجها تلقائيًا بواسطة more ، والتي تحتوي على سطر فارغ ، والرسالة "... تخطي" ، والسطرين اللذين يسبقان خط البداية المقصود. أعتقد أن هذا قد يختلف حسب نظامك.

2
AlohaUnixFan

يمكنك استخدام NR المعلمة مع awk الأمر:

cat <file> | awk '{if (NR>=7000) print}'
2
Gefolge