<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Linux | أحمد كمال عمارة</title><link>https://akemara.com/ar/tags/linux/</link><atom:link href="https://akemara.com/ar/tags/linux/index.xml" rel="self" type="application/rss+xml"/><description>Linux</description><generator>Akemara Kit (https://akemara.com)</generator><language>ar</language><lastBuildDate>Wed, 15 Jan 2025 00:00:00 +0000</lastBuildDate><image><url>https://akemara.com/media/logo.svg</url><title>Linux</title><link>https://akemara.com/ar/tags/linux/</link></image><item><title>إتقان أمر column في Linux: دليل شامل بالأمثلة</title><link>https://akemara.com/ar/blog/linux-column-command/</link><pubDate>Wed, 15 Jan 2025 00:00:00 +0000</pubDate><guid>https://akemara.com/ar/blog/linux-column-command/</guid><description>&lt;p&gt;أمر &lt;code&gt;column&lt;/code&gt; في Linux أداة قوية لكنها مُهمَلة في أغلب الأحيان، وظيفتها تنسيق المخرجات النصية في أعمدة. وهو مفيد بشكل خاص لجعل البيانات الفوضوية أو غير المهيكلة أسهل في القراءة عبر محاذاتها في جداول أنيقة. سواء كنت مسؤول أنظمة (System Administrator) أو مطورًا أو مجرد شغوف بـ Linux، فإن إتقان أمر &lt;code&gt;column&lt;/code&gt; سيوفر وقتك ويجعل عملك أكثر كفاءة.&lt;/p&gt;
&lt;p&gt;في هذا المقال سنستكشف أمر &lt;code&gt;column&lt;/code&gt; بالتفصيل، ونغطي كل حالات استخدامه بأمثلة عملية. وبنهايته ستتمكن من استخدام &lt;code&gt;column&lt;/code&gt; باحترافية!&lt;/p&gt;
&lt;h2 id="1-introduction-to-the-column-command"&gt;1. مقدمة إلى أمر column&lt;/h2&gt;
&lt;p&gt;أمر &lt;code&gt;column&lt;/code&gt; جزء من حزمة &lt;code&gt;util-linux&lt;/code&gt; وهو متوفر في معظم توزيعات Linux. صُمم لتنسيق النصوص في أعمدة، ما يجعلها أسهل في القراءة والتحليل. يعمل مع المدخلات القادمة عبر الـ pipe ومع الملفات على حد سواء، ويدعم خيارات متنوعة لتخصيص المخرجات.&lt;/p&gt;
&lt;h2 id="2-basic-usage"&gt;2. الاستخدام الأساسي&lt;/h2&gt;
&lt;p&gt;أبسط طريقة لاستخدام &lt;code&gt;column&lt;/code&gt; هي تمرير النص إليه عبر الـ pipe. افتراضيًا، يقوم بتنسيق المدخلات في أعمدة:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ &lt;span class="nb"&gt;echo&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;Name Age\nJohn 25\nJane 30\nDoe 22&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; column -t
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Name Age
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;John &lt;span class="m"&gt;25&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Jane &lt;span class="m"&gt;30&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Doe &lt;span class="m"&gt;22&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;أمر &lt;code&gt;echo&lt;/code&gt; يولّد قائمة بالأسماء والأعمار.&lt;/li&gt;
&lt;li&gt;أمر &lt;code&gt;column&lt;/code&gt; ينسّق المخرجات في عمودين.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="3-filling-rows-before-columns-x"&gt;3. ملء الصفوف قبل الأعمدة (-x)&lt;/h2&gt;
&lt;p&gt;افتراضيًا، يملأ &lt;code&gt;column&lt;/code&gt; الأعمدة قبل الصفوف. لكن يمكنك استخدام الخيار &lt;code&gt;-x&lt;/code&gt; لملء الصفوف أولًا:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ &lt;span class="nb"&gt;echo&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;Name Age\nJohn 25\nJane 30\nDoe 22&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; column -x
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Name Age John &lt;span class="m"&gt;25&lt;/span&gt; Jane &lt;span class="m"&gt;30&lt;/span&gt; Doe &lt;span class="m"&gt;22&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;الخيار &lt;code&gt;-x&lt;/code&gt; يضمن ملء الصفوف قبل الأعمدة.&lt;/p&gt;
&lt;h2 id="4-using-column-with-files"&gt;4. استخدام column مع الملفات&lt;/h2&gt;
&lt;p&gt;بدلًا من تمرير المدخلات عبر الـ pipe، يمكنك تمرير ملف مباشرة إلى &lt;code&gt;column&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ column file.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;هذا ينسّق محتويات الملف &lt;code&gt;file.txt&lt;/code&gt; في أعمدة.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="5-formatting-find-command-output"&gt;5. تنسيق مخرجات أمر find&lt;/h2&gt;
&lt;p&gt;أمر &lt;code&gt;column&lt;/code&gt; مفيد بشكل خاص لترتيب مخرجات أوامر مثل &lt;code&gt;find&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ find /usr/share/fonts -name &lt;span class="s2"&gt;&amp;#34;*.otf&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; column
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;هذا يسرد كل ملفات &lt;code&gt;.otf&lt;/code&gt; في المسار &lt;code&gt;/usr/share/fonts&lt;/code&gt; وينسّق المخرجات في أعمدة.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="6-table-mode-t"&gt;6. وضع الجدول (-t)&lt;/h2&gt;
&lt;p&gt;الخيار &lt;code&gt;-t&lt;/code&gt; يفعّل وضع الجدول (Table Mode)، وهو مثالي لتنسيق البيانات المهيكلة:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ cat /etc/passwd &lt;span class="p"&gt;|&lt;/span&gt; column -t -s &lt;span class="s2"&gt;&amp;#34;:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;هذا ينسّق ملف &lt;code&gt;/etc/passwd&lt;/code&gt; في جدول، باستخدام &lt;code&gt;:&lt;/code&gt; كفاصل (Delimiter).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="7-adding-column-headers-n"&gt;7. إضافة عناوين للأعمدة (-N)&lt;/h2&gt;
&lt;p&gt;الخيار &lt;code&gt;-N&lt;/code&gt; يتيح لك إضافة عناوين للأعمدة في المخرجات:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ cat /etc/passwd &lt;span class="p"&gt;|&lt;/span&gt; column -t -s &lt;span class="s2"&gt;&amp;#34;:&amp;#34;&lt;/span&gt; -N &lt;span class="s2"&gt;&amp;#34;USERNAME,PW,UID,GID,COMMENT,HOME,INTERPRETER&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;هذا ينسّق &lt;code&gt;/etc/passwd&lt;/code&gt; في جدول بعناوين أعمدة مخصصة.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="8-hiding-columns-h"&gt;8. إخفاء الأعمدة (-H)&lt;/h2&gt;
&lt;p&gt;الخيار &lt;code&gt;-H&lt;/code&gt; يتيح لك إخفاء أعمدة محددة:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ cat /etc/passwd &lt;span class="p"&gt;|&lt;/span&gt; column -t -s &lt;span class="s2"&gt;&amp;#34;:&amp;#34;&lt;/span&gt; -N &lt;span class="s2"&gt;&amp;#34;USERNAME,PW,UID,GID,COMMENT,HOME,INTERPRETER&amp;#34;&lt;/span&gt; -H &lt;span class="s2"&gt;&amp;#34;PW&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;هذا يخفي عمود &lt;code&gt;PW&lt;/code&gt; (كلمة المرور) من المخرجات.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="9-reordering-columns-o"&gt;9. إعادة ترتيب الأعمدة (-O)&lt;/h2&gt;
&lt;p&gt;الخيار &lt;code&gt;-O&lt;/code&gt; يتيح لك إعادة ترتيب الأعمدة:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ cat /etc/passwd &lt;span class="p"&gt;|&lt;/span&gt; column -t -s &lt;span class="s2"&gt;&amp;#34;:&amp;#34;&lt;/span&gt; -N &lt;span class="s2"&gt;&amp;#34;USERNAME,PW,UID,GID,COMMENT,HOME,INTERPRETER&amp;#34;&lt;/span&gt; -O &lt;span class="s2"&gt;&amp;#34;USERNAME,UID,GID,COMMENT,HOME,INTERPRETER&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;هذا يعيد ترتيب الأعمدة، مع إزالة عمود &lt;code&gt;PW&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="10-json-output-j"&gt;10. الإخراج بصيغة JSON (-J)&lt;/h2&gt;
&lt;p&gt;الخيار &lt;code&gt;-J&lt;/code&gt; يُخرج البيانات بصيغة JSON:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ cat /etc/passwd &lt;span class="p"&gt;|&lt;/span&gt; column -t -s &lt;span class="s2"&gt;&amp;#34;:&amp;#34;&lt;/span&gt; -N &lt;span class="s2"&gt;&amp;#34;USERNAME,PW,UID,GID,COMMENT,HOME,INTERPRETER&amp;#34;&lt;/span&gt; -J -n &lt;span class="s2"&gt;&amp;#34;users&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;هذا يحوّل بيانات &lt;code&gt;/etc/passwd&lt;/code&gt; إلى كائن JSON باسم &lt;code&gt;users&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="11-combining-options-for-advanced-formatting"&gt;11. دمج الخيارات لتنسيق متقدم&lt;/h2&gt;
&lt;p&gt;يمكنك دمج عدة خيارات معًا للحصول على تنسيق أكثر تقدمًا:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ cat /etc/passwd &lt;span class="p"&gt;|&lt;/span&gt; column -t -s &lt;span class="s2"&gt;&amp;#34;:&amp;#34;&lt;/span&gt; -N &lt;span class="s2"&gt;&amp;#34;USERNAME,PW,UID,GID,COMMENT,HOME,INTERPRETER&amp;#34;&lt;/span&gt; -H &lt;span class="s2"&gt;&amp;#34;PW&amp;#34;&lt;/span&gt; -O &lt;span class="s2"&gt;&amp;#34;USERNAME,UID,GID,COMMENT,HOME,INTERPRETER&amp;#34;&lt;/span&gt; -J -n &lt;span class="s2"&gt;&amp;#34;users&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;هذا الأمر:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ينسّق &lt;code&gt;/etc/passwd&lt;/code&gt; في جدول.&lt;/li&gt;
&lt;li&gt;يضيف عناوين للأعمدة.&lt;/li&gt;
&lt;li&gt;يخفي عمود &lt;code&gt;PW&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;يعيد ترتيب الأعمدة.&lt;/li&gt;
&lt;li&gt;يُخرج النتيجة بصيغة JSON.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="12-conclusion"&gt;12. الخلاصة&lt;/h2&gt;
&lt;p&gt;أمر &lt;code&gt;column&lt;/code&gt; أداة متعددة الاستخدامات لتنسيق المخرجات النصية في أعمدة، ما يجعلها أسهل في القراءة والتحليل. سواء كنت تتعامل مع مخرجات الأوامر أو مع الملفات، سيساعدك &lt;code&gt;column&lt;/code&gt; على عرض البيانات في تنسيق جدولي نظيف.&lt;/p&gt;
&lt;h2 id="key-takeaways"&gt;أهم النقاط:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;استخدم &lt;code&gt;-t&lt;/code&gt; لوضع الجدول.&lt;/li&gt;
&lt;li&gt;استخدم &lt;code&gt;-s&lt;/code&gt; لتحديد الفاصل.&lt;/li&gt;
&lt;li&gt;استخدم &lt;code&gt;-N&lt;/code&gt; لإضافة عناوين الأعمدة.&lt;/li&gt;
&lt;li&gt;استخدم &lt;code&gt;-H&lt;/code&gt; لإخفاء أعمدة.&lt;/li&gt;
&lt;li&gt;استخدم &lt;code&gt;-O&lt;/code&gt; لإعادة ترتيب الأعمدة.&lt;/li&gt;
&lt;li&gt;استخدم &lt;code&gt;-J&lt;/code&gt; للإخراج بصيغة JSON.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;لمعالجة بيانات أكثر تقدمًا، فكّر في أدوات مثل &lt;code&gt;awk&lt;/code&gt;. لكن للتنسيق السريع والسهل، يبقى &lt;code&gt;column&lt;/code&gt; أداة لا غنى عنها في صندوق أدواتك على Linux.&lt;/p&gt;
&lt;h2 id="final-thoughts"&gt;كلمة أخيرة&lt;/h2&gt;
&lt;p&gt;أمر &lt;code&gt;column&lt;/code&gt; طريقة بسيطة لكنها قوية لتنظيم البيانات وعرضها. بإتقان خياراته، ستوفر وقتك وتجعل عملك أكثر كفاءة. سواء كنت مسؤول أنظمة أو مطورًا أو مجرد شغوف بـ Linux، فإن &lt;code&gt;column&lt;/code&gt; أداة ستحرص على إبقائها في متناول يدك.&lt;/p&gt;
&lt;p&gt;تنسيقًا سعيدًا! 🚀&lt;/p&gt;</description></item></channel></rss>