<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Cholwich's blog &#187; linux</title>
	<atom:link href="http://cholwich.org/wordpress/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://cholwich.org/wordpress</link>
	<description>Just another blog of mine</description>
	<lastBuildDate>Thu, 02 Jun 2011 02:00:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Scroll Wheel บน Bluetooth Mouse</title>
		<link>http://cholwich.org/wordpress/2009/06/02/scroll-wheel-%e0%b8%9a%e0%b8%99-bluetooth/</link>
		<comments>http://cholwich.org/wordpress/2009/06/02/scroll-wheel-%e0%b8%9a%e0%b8%99-bluetooth/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 04:02:27 +0000</pubDate>
		<dc:creator>cholwich</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[bluetooth]]></category>
		<category><![CDATA[hal]]></category>
		<category><![CDATA[X]]></category>

		<guid isPermaLink="false">http://cholwich.org/wordpress/?p=328</guid>
		<description><![CDATA[วันนี้ลองใช้ Bluetooth Mouse ที่มีอยู่ หลังจากที่ไม่ได้ใช้มานาน (หลังๆ ใช้แต่ touchpad จนนิ้วเริ่มสึก) ปรากฏว่าไม่สามารถใช้ scroll wheel ได้ แถม Ubuntu รุ่นหลังๆ ใช้ HAL ทำให้ไม่สามารถแก้ข้อกำหนดเกี่ยวกับ mouse ในไฟล์ xorg.conf ได้ วิธีการแก้ไขจะต้องไปสร้างไฟล์ชื่ /etc/hal/fdi/policy/mouse.fdi แล้วใส่ &#60;?xml version=&#34;1.0&#34; encoding=&#34;UTF-8&#34;?&#62; &#160; &#60;match key=&#34;info.product&#34; string=&#34;Mouseemu virtual mouse&#34;&#62; &#60;merge key=&#34;input.x11_options.ZAxisMapping&#34; type=&#34;string&#34;&#62;4 5&#60;/merge&#62; &#60;/match&#62; เพื่อเพิ่ม option ที่เกี่ยวกับ scroll wheel สำหรับ mouse สุดท้ายรีบูทเครื่องใหม่ ก็เรียบร้อย]]></description>
			<content:encoded><![CDATA[<p>วันนี้ลองใช้ Bluetooth Mouse ที่มีอยู่ หลังจากที่ไม่ได้ใช้มานาน (หลังๆ ใช้แต่ touchpad จนนิ้วเริ่มสึก) ปรากฏว่าไม่สามารถใช้ scroll wheel ได้ แถม Ubuntu รุ่นหลังๆ ใช้ HAL ทำให้ไม่สามารถแก้ข้อกำหนดเกี่ยวกับ mouse ในไฟล์ xorg.conf ได้</p>
<p>วิธีการแก้ไขจะต้องไปสร้างไฟล์ชื่ /etc/hal/fdi/policy/mouse.fdi แล้วใส่</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span> 
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;match</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;info.product&quot;</span> <span style="color: #000066;">string</span>=<span style="color: #ff0000;">&quot;Mouseemu virtual mouse&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;merge</span> <span style="color: #000066;">key</span>=<span style="color: #ff0000;">&quot;input.x11_options.ZAxisMapping&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;string&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>4 5<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/merge<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/match<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>เพื่อเพิ่ม option ที่เกี่ยวกับ scroll wheel สำหรับ mouse สุดท้ายรีบูทเครื่องใหม่ ก็เรียบร้อย</p>
]]></content:encoded>
			<wfw:commentRss>http://cholwich.org/wordpress/2009/06/02/scroll-wheel-%e0%b8%9a%e0%b8%99-bluetooth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>เพิ่มเลขหน้าให้ PDF</title>
		<link>http://cholwich.org/wordpress/2009/05/21/%e0%b9%80%e0%b8%9e%e0%b8%b4%e0%b9%88%e0%b8%a1%e0%b9%80%e0%b8%a5%e0%b8%82%e0%b8%ab%e0%b8%99%e0%b9%89%e0%b8%b2-pdf/</link>
		<comments>http://cholwich.org/wordpress/2009/05/21/%e0%b9%80%e0%b8%9e%e0%b8%b4%e0%b9%88%e0%b8%a1%e0%b9%80%e0%b8%a5%e0%b8%82%e0%b8%ab%e0%b8%99%e0%b9%89%e0%b8%b2-pdf/#comments</comments>
		<pubDate>Thu, 21 May 2009 03:36:44 +0000</pubDate>
		<dc:creator>cholwich</dc:creator>
				<category><![CDATA[latex]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[pdflatex]]></category>
		<category><![CDATA[pdfpages]]></category>
		<category><![CDATA[sed]]></category>

		<guid isPermaLink="false">http://cholwich.org/wordpress/?p=317</guid>
		<description><![CDATA[การใช้ LaTeX ทำสไลด์สำหรับใช้สอนหนังสือ จะมีความลำบากนิดหน่อยในการเตรียม handout สำหรับแจกนักศึกษา (จริงๆ แล้ว ไม่ค่อยอยากแจกเท่าไหร่ พอมีสไลด์ครบแล้ว ส่วนใหญ่ก็จะคุยกันเยอะ) ถ้าใช้ Beamer ก็จะมีแพคเกจ pgfpages มาให้ใช้สำหรับพิมพ์สไลด์หลายๆ หน้ารวมกันในหน้าเดียวอยู่แล้ว แต่ผมชอบใช้โปรแกรม pdfnup ที่มาพร้อมกับแพคเกจ pdfjam บน Ubuntu มากกว่า วิธีใช้ก็ง่ายๆ เช่น $ pdfnup --nup 2x2 --frame true myslides.pdf จะได้ผลลัพธ์เป็นไฟล์ PDF ชื่อ myslides-2&#215;2.pdf วางสไลด์สี่หน้าต่อหนึ่งแผ่น แบบ 2 คูณ 2 ทีนี้ทุกเทอมก็ใช้อย่างนี้มาตลอด มาเทอมนี้อยากให้มีเลขหน้าเพิ่มเข้าไปด้วย จะได้เรียงลำดับหน้าต่างๆ ได้ไม่ยาก (ปกติร้านถ่ายเอกสารจะใช้มือเขียนเลขหน้าให้) วิธีที่ง่ายที่สุดก็คือไปหา Adobe Acrobat ตัวจริงมา จะมีฟังก์ชันให้ใส่เลขหน้าโดยอัตโนมัติ แต่เนื่องจากเราไม่อยากเสียตังค์ ก็เลยมานั่งดูโปรแกรม pdfnup [...]]]></description>
			<content:encoded><![CDATA[<p>การใช้ LaTeX ทำสไลด์สำหรับใช้สอนหนังสือ จะมีความลำบากนิดหน่อยในการเตรียม handout สำหรับแจกนักศึกษา (จริงๆ แล้ว ไม่ค่อยอยากแจกเท่าไหร่ พอมีสไลด์ครบแล้ว ส่วนใหญ่ก็จะคุยกันเยอะ) ถ้าใช้ Beamer ก็จะมีแพคเกจ pgfpages มาให้ใช้สำหรับพิมพ์สไลด์หลายๆ หน้ารวมกันในหน้าเดียวอยู่แล้ว แต่ผมชอบใช้โปรแกรม pdfnup ที่มาพร้อมกับแพคเกจ pdfjam บน Ubuntu มากกว่า วิธีใช้ก็ง่ายๆ เช่น</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ pdfnup <span style="color: #660033;">--nup</span> 2x2 <span style="color: #660033;">--frame</span> <span style="color: #c20cb9; font-weight: bold;">true</span> myslides.pdf</pre></div></div>

<p>จะได้ผลลัพธ์เป็นไฟล์ PDF ชื่อ myslides-2&#215;2.pdf วางสไลด์สี่หน้าต่อหนึ่งแผ่น แบบ 2 คูณ 2</p>
<p>ทีนี้ทุกเทอมก็ใช้อย่างนี้มาตลอด มาเทอมนี้อยากให้มีเลขหน้าเพิ่มเข้าไปด้วย จะได้เรียงลำดับหน้าต่างๆ ได้ไม่ยาก (ปกติร้านถ่ายเอกสารจะใช้มือเขียนเลขหน้าให้) วิธีที่ง่ายที่สุดก็คือไปหา Adobe Acrobat ตัวจริงมา จะมีฟังก์ชันให้ใส่เลขหน้าโดยอัตโนมัติ แต่เนื่องจากเราไม่อยากเสียตังค์ ก็เลยมานั่งดูโปรแกรม pdfnup ว่าจริงๆ เป็นสคริปต์ที่สร้างไฟล์สำหรับ pdfLaTeX ที่ใช้แพคเกจ pdfpages เพื่อเอาหน้าหลายๆ หน้ามาเรียงไว้ในหน้าเดียวกัน ซึ่งจะเรียงแบบหนึ่งหน้าต่อหนึ่งหน้าก็ได้ เลยลองเล่นดู ใช้แพคเกจ fancyhdr ของ LaTeX มาช่วยกำหนดตำแหน่งเลขหน้า สุดท้ายได้ไฟล์สำหรับใส่เลขหน้าอัตโนมัติมา</p>

<div class="wp_syntax"><div class="code"><pre class="latex" style="font-family:monospace;"><span style="color: #E02020; ">\</span><span style="color: #800000;">documentclass</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">article</span><span style="color: #E02020; ">}</span>
&nbsp;
<span style="color: #E02020; ">\</span><span style="color: #800000;">usepackage</span><span style="color: #E02020; ">[</span><span style="color: #C08020; font-weight: normal;">final</span><span style="color: #E02020; ">]{</span><span style="color: #2020C0; font-weight: normal;">pdfpages</span><span style="color: #E02020; ">}</span>
<span style="color: #E02020; ">\</span><span style="color: #800000;">usepackage</span><span style="color: #E02020; ">[</span><span style="color: #C08020; font-weight: normal;">paper=a4paper,landscape,tmargin=2cm,bmargin=2.3cm,lmargin=2.5cm,rmargin=1.5cm</span><span style="color: #E02020; ">]{</span><span style="color: #2020C0; font-weight: normal;">geometry</span><span style="color: #E02020; ">}</span>
<span style="color: #E02020; ">\</span><span style="color: #800000;">usepackage</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">fancyhdr</span><span style="color: #E02020; ">}</span>
&nbsp;
<span style="color: #800000; font-weight: normal;">\setcounter</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">page</span><span style="color: #E02020; ">}{</span><span style="color: #2020C0; font-weight: normal;">..PAGE..</span><span style="color: #E02020; ">}</span>
<span style="color: #E02020; ">\</span><span style="color: #800000;">pagestyle</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">fancy</span><span style="color: #E02020; ">}</span>
<span style="color: #800000; font-weight: normal;">\lhead</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">My Course</span><span style="color: #E02020; ">}</span>
<span style="color: #800000; font-weight: normal;">\cfoot</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #E02020; ">}</span>
<span style="color: #800000; font-weight: normal;">\rfoot</span><span style="color: #E02020; ">{{</span><span style="color: #800000; font-weight: normal;">\LARGE</span><span style="color: #800000; font-weight: normal;">\thepage</span></span><span style="color: #E02020; ">}}</span>
<span style="color: #E02020; ">\</span><span style="color: #800000;">renewcommand</span> <span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #800000; font-weight: normal;">\headrulewidth</span></span><span style="color: #E02020; ">}{</span><span style="color: #2020C0; font-weight: normal;">0pt</span><span style="color: #E02020; ">}</span>
<span style="color: #E02020; ">\</span><span style="color: #800000;">renewcommand</span> <span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #800000; font-weight: normal;">\footrulewidth</span></span><span style="color: #E02020; ">}{</span><span style="color: #2020C0; font-weight: normal;">0pt</span><span style="color: #E02020; ">}</span>
&nbsp;
<span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">document</span></span><span style="color: #E02020; ">}</span>
	<span style="color: #800000; font-weight: normal;">\includepdfset</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">pages=-,pagecommand=<span style="color: #800000; font-weight: normal;">\thispagestyle</span>{fancy</span><span style="color: #E02020; ">}}</span>
	<span style="color: #800000; font-weight: normal;">\includepdf</span><span style="color: #E02020; ">[</span><span style="color: #C08020; font-weight: normal;">fitpaper=true,scale=1</span><span style="color: #E02020; ">]{</span><span style="color: #2020C0; font-weight: normal;">..FILE..</span><span style="color: #E02020; ">}</span>
<span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">document</span></span><span style="color: #E02020; ">}</span></pre></div></div>

<p>และเพื่อให้เกิดความสะดวกในการทำงาน ก็เลยไปเขียนสคริปต์มาอีกอันหนึ่ง ใช้ sed แก้ไข ..PAGE.. และ ..FILE.. ใน LaTeX ให้เป็นเลขหน้าเริ่มต้น และชื่อไฟล์ PDF ที่ต้องการ</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
&nbsp;
<span style="color: #007800;">filename</span>=<span style="color: #007800;">$1</span>
<span style="color: #007800;">pagenumber</span>=<span style="color: #007800;">$2</span>
<span style="color: #007800;">newname</span>=<span style="color: #800000;">${1%.pdf}</span>-p.tex
<span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;s/\.\.FILE\.\./&quot;</span><span style="color: #007800;">$filename</span><span style="color: #ff0000;">&quot;/g&quot;</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;s/\.\.PAGE\.\./&quot;</span><span style="color: #007800;">$pagenumber</span><span style="color: #ff0000;">&quot;/g&quot;</span> <span style="color: #000000; font-weight: bold;">&lt;</span> page.tex <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #007800;">$newname</span>
&nbsp;
pdflatex <span style="color: #007800;">$newname</span>
pdflatex <span style="color: #007800;">$newname</span>
<span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #007800;">$newname</span>
<span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #800000;">${newname%tex}</span>log</pre></div></div>

<p>สุดท้ายจะได้โปรแกรมง่ายๆ สำหรับเติมเลขหน้าได้ตามต้องการ ส่วนที่ผมยังงงๆ อยู่ก็คือ ไม่เข้าใจว่าทำไมฟอนท์ใน LaTeX มันมีขนาดเล็กกว่าปกติ เลยต้องกำหนดให้ใช้ \LARGE สำหรับเลขหน้า คิดว่าอาจจะมีปัญหาอะไรบางอย่างเกี่ยวกับขนาดกระดาษ หรืออะไรซักอย่าง เลยแก้แบบง่ายๆ ไปก่อน ขี้เกียจไปค้นดูละเอียดๆ ส่วนคนอื่นถ้าจะเอาไปใช้ ก็สามารถปรับแต่งตำแหน่งๆ หรือระยะขอบกระดาษได้โดยแก้ที่ geometry ครับ</p>
]]></content:encoded>
			<wfw:commentRss>http://cholwich.org/wordpress/2009/05/21/%e0%b9%80%e0%b8%9e%e0%b8%b4%e0%b9%88%e0%b8%a1%e0%b9%80%e0%b8%a5%e0%b8%82%e0%b8%ab%e0%b8%99%e0%b9%89%e0%b8%b2-pdf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>สำรองข้อมูลด้วย dirsplit</title>
		<link>http://cholwich.org/wordpress/2009/05/19/dirsplit/</link>
		<comments>http://cholwich.org/wordpress/2009/05/19/dirsplit/#comments</comments>
		<pubDate>Tue, 19 May 2009 04:58:59 +0000</pubDate>
		<dc:creator>cholwich</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[cdrecord]]></category>
		<category><![CDATA[dirsplit]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[wodim]]></category>

		<guid isPermaLink="false">http://cholwich.org/wordpress/?p=312</guid>
		<description><![CDATA[ผมมักจะมีปัญหากับการแบ็คอัพข้อมูลบ่อยๆ ถึงแม้ว่าจะมีอุปกรณ์ต่างๆ ที่ครบถ้วนอยู่แล้ว เนื่องจากเวลาเก็บไฟล์ไว้เยอะ ถ้าจะเก็บลงแผ่น CD หรือ DVD จะมีปัญหาที่จะต้องมานั่งจัดแบ่งไฟล์ออกเป็นแผ่นๆ บางไฟล์ก็ใหญ่เกินไปเขียนลงบนแผ่นเดียวกัน ก็จะต้องจำไฟล์นี้ไว้ก่อน แล้วไปหาไฟล์อื่นมาแทนถ้าจะทิ้งให้เหลือไว้อย่างนั้นก็รู้สึกว่าเปลือง ทำไปทำมาก็จะงงไปหมด เสียเวลาในการจัดการนานมาก จนกระทั่งขี้เกียจแบ็คอัพในที่สุด วันนี้ลงค้นๆใน apt-get ของ Ubuntu ดู พบว่ามีคนทำเครื่องมือช่วยจัดการปัญหานี้ คือเป็นสคริปต์เล็กๆ ที่ชื่อว่า dirsplit ที่มาพร้อมกับแพคเกจ genisoimage โปรแกรมนี้ทำหน้าที่สร้างลิสต์ของไฟล์ เพื่อเขียนไดเรคทอรีใหญ่ๆ ลงแผ่น CD/DVD โดยโปรแกรมจะจัดไฟล์ให้เราตามขนาดไฟล์ เราสามารถกำหนดได้ว่าจะสร้าง catalog แต่ละแผ่นใหญ่แค่ไหน (default คือขนาด DVD) วิธีใช้ก็คือ $ dirsplit -e2 --prefix mybackup ./mydir1 ./mydir2 ตัวเลือก -e2 ใช้กำหนดวิธีการคำนวณและรวมขนาดไฟล์ มีอยู่หลายวิธี ผมเห็นตัวอย่างใช้วิธีนี้ก็เลยใช้ตาม ส่วน &#8211;prefix ใช้กำหนดชื่อไฟล์ catalog ที่สร้างขึ้น [...]]]></description>
			<content:encoded><![CDATA[<p>ผมมักจะมีปัญหากับการแบ็คอัพข้อมูลบ่อยๆ ถึงแม้ว่าจะมีอุปกรณ์ต่างๆ ที่ครบถ้วนอยู่แล้ว เนื่องจากเวลาเก็บไฟล์ไว้เยอะ ถ้าจะเก็บลงแผ่น CD หรือ DVD จะมีปัญหาที่จะต้องมานั่งจัดแบ่งไฟล์ออกเป็นแผ่นๆ บางไฟล์ก็ใหญ่เกินไปเขียนลงบนแผ่นเดียวกัน ก็จะต้องจำไฟล์นี้ไว้ก่อน แล้วไปหาไฟล์อื่นมาแทนถ้าจะทิ้งให้เหลือไว้อย่างนั้นก็รู้สึกว่าเปลือง ทำไปทำมาก็จะงงไปหมด เสียเวลาในการจัดการนานมาก จนกระทั่งขี้เกียจแบ็คอัพในที่สุด</p>
<p>วันนี้ลงค้นๆใน apt-get ของ Ubuntu ดู พบว่ามีคนทำเครื่องมือช่วยจัดการปัญหานี้ คือเป็นสคริปต์เล็กๆ ที่ชื่อว่า dirsplit ที่มาพร้อมกับแพคเกจ genisoimage โปรแกรมนี้ทำหน้าที่สร้างลิสต์ของไฟล์ เพื่อเขียนไดเรคทอรีใหญ่ๆ ลงแผ่น CD/DVD โดยโปรแกรมจะจัดไฟล์ให้เราตามขนาดไฟล์ เราสามารถกำหนดได้ว่าจะสร้าง catalog แต่ละแผ่นใหญ่แค่ไหน (default คือขนาด DVD) วิธีใช้ก็คือ</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ dirsplit <span style="color: #660033;">-e2</span> <span style="color: #660033;">--prefix</span> mybackup .<span style="color: #000000; font-weight: bold;">/</span>mydir1 .<span style="color: #000000; font-weight: bold;">/</span>mydir2</pre></div></div>

<p>ตัวเลือก -e2 ใช้กำหนดวิธีการคำนวณและรวมขนาดไฟล์ มีอยู่หลายวิธี ผมเห็นตัวอย่างใช้วิธีนี้ก็เลยใช้ตาม ส่วน &#8211;prefix ใช้กำหนดชื่อไฟล์ catalog ที่สร้างขึ้น อย่างกรณีนี้ ก็จะได้ mybackup1.list mybackup2.list &#8230; ไปเรื่อยๆ ตามไฟล์ที่เรามี</p>
<p>เมื่อสร้าง catalog เสร็จ ก็ต้องนำมาสร้าง ISO image ซึ่งจะเป็นการไปดึงไฟล์จริงมารวมไว้ วิธีใช้ของ dirsplit ก็มีวิธีสร้าง ISO มาให้ด้วย คือ</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ mkisofs <span style="color: #660033;">-D</span> <span style="color: #660033;">-r</span> <span style="color: #660033;">--joliet-long</span> <span style="color: #660033;">-graft-points</span> <span style="color: #660033;">-path-list</span> mybackup1.list <span style="color: #660033;">-o</span> mybackup1.iso</pre></div></div>

<p>เพียงเท่านี้ก็จะได้ image สำหรับเขียนลงแผ่น ก็สามารถใช้โปรแกรมที่ชื่นชอบเขียนได้ ผมขี้เกียจใช้ GUI ก็ใช้โปรแกรม wodim โดยตรง</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">wodim</span> <span style="color: #660033;">-v</span> <span style="color: #007800;">dev</span>=<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>scd0 <span style="color: #007800;">speed</span>=<span style="color: #000000;">8</span> mybackup1.iso</pre></div></div>

<p>ก็จะได้แผ่นสำรองข้อมูล (ที่มีค่าหรือเปล่าก็ไม่รู้) ของเราไว้ได้ ข้อเสียของวิธีนี้ก็คือ ถ้าต้องการค้นหาไฟล์บางอย่างในภายหลังอาจจะยุ่งยากพอควร เพราะเราจะไม่รู้ว่าไฟล์นั้นเก็บไว้ที่ไหน ถ้าให้ดีก็เก็บไฟล์ catalog เอาไว้ด้วย จะได้ค้นหาได้เร็วขึ้น</p>
]]></content:encoded>
			<wfw:commentRss>http://cholwich.org/wordpress/2009/05/19/dirsplit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Preferred Applications บน GNOME</title>
		<link>http://cholwich.org/wordpress/2009/04/23/preferred-applications-%e0%b8%9a%e0%b8%99-gnome/</link>
		<comments>http://cholwich.org/wordpress/2009/04/23/preferred-applications-%e0%b8%9a%e0%b8%99-gnome/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 06:53:16 +0000</pubDate>
		<dc:creator>cholwich</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://cholwich.org/wordpress/?p=302</guid>
		<description><![CDATA[วันนี้ลองติดตั้ง Acrobat Reader บน Jaunty แล้วพลาดไปตอบว่า ให้เปิด acroread เป็น default application เวลาเปิดไฟล์ PDF แต่จริงๆ แล้ว โดยทั่วๆ ไปชอบใช้ evince มากกว่า ก็เลยต้องหาวิธีแก้ ซึ่งวิธีที่ง่ายที่สุดก็คือ reconfigure ตัวแพคเกจใหม่ $ sudo dpkg-reconfigure acroread แต่ถ้าหากจะกำหนด default application เวลาเปิดไฟล์ประเภทต่างๆ จะทำได้โดยไปแก้ไขไฟล์ที่ ~/.local/share/applications/mimeapps.list หรือถ้าจะกำหนดให้กับผู้ใช้ทุกคนในเครื่อง ก็ให้ไปแก้ไขไฟล์ /etc/gnome/defaults.list อ้างอิง: http://ubuntuforums.org/showthread.php?p=2161195]]></description>
			<content:encoded><![CDATA[<p>วันนี้ลองติดตั้ง Acrobat Reader บน Jaunty แล้วพลาดไปตอบว่า ให้เปิด acroread เป็น default application เวลาเปิดไฟล์ PDF แต่จริงๆ แล้ว โดยทั่วๆ ไปชอบใช้ evince มากกว่า ก็เลยต้องหาวิธีแก้ ซึ่งวิธีที่ง่ายที่สุดก็คือ reconfigure ตัวแพคเกจใหม่</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> dpkg-reconfigure acroread</pre></div></div>

<p>แต่ถ้าหากจะกำหนด default application เวลาเปิดไฟล์ประเภทต่างๆ จะทำได้โดยไปแก้ไขไฟล์ที่</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">~<span style="color: #000000; font-weight: bold;">/</span>.local<span style="color: #000000; font-weight: bold;">/</span>share<span style="color: #000000; font-weight: bold;">/</span>applications<span style="color: #000000; font-weight: bold;">/</span>mimeapps.list</pre></div></div>

<p>หรือถ้าจะกำหนดให้กับผู้ใช้ทุกคนในเครื่อง ก็ให้ไปแก้ไขไฟล์</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>gnome<span style="color: #000000; font-weight: bold;">/</span>defaults.list</pre></div></div>

<p>อ้างอิง: <a href="http://ubuntuforums.org/showthread.php?p=2161195">http://ubuntuforums.org/showthread.php?p=2161195</a></p>
]]></content:encoded>
			<wfw:commentRss>http://cholwich.org/wordpress/2009/04/23/preferred-applications-%e0%b8%9a%e0%b8%99-gnome/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>expect</title>
		<link>http://cholwich.org/wordpress/2008/07/08/expect/</link>
		<comments>http://cholwich.org/wordpress/2008/07/08/expect/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 07:07:36 +0000</pubDate>
		<dc:creator>cholwich</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[scripting]]></category>

		<guid isPermaLink="false">http://cholwich.org/wordpress/?p=71</guid>
		<description><![CDATA[ขอพูดถึงคำสั่ง unix ต่ออีกอันหนึ่งละกัน เนื่องจากเมื่อวานพยายามเขียน script เพื่อสร้าง account แบบเยอะๆ โดยใช้ข้อมูลในไฟล์รายชื่อนักเรียน เพราะว่ามีนักเรียนอยู่ 120 กว่าคน ถ้าให้สร้างด้วยมืออาจจะหมดแรงก่อนได้ ปัญหาเกิดขึ้นตอนกำหนด password ที่แม้ว่าจะมีโปรแกรม pwgen สำหรับสร้าง password ให้โดยอัตโนมัติแล้วก็ตาม แต่โปรแกรม adduser ที่ใช้บน Ubuntu ไม่ยอมให้กำหนด password ไว้เป็น option จึงต้องหาวิธีอื่นๆ ซึ่งก็มีหลายวิธี เช่น เปลี่ยนไปใช้ useradd (ชื่อคล้ายกัน สับสนดีแท้) แทนเนื่องจากกำหนดรายละเอียดต่างๆ ได้เยอะ แต่ก็มีปัญหาที่จะต้องตามไปกำหนดเงื่อนไขต่างๆ ยุ่งยากพอสมควรในขณะที่ adduser มีอีกคนกำหนดค่าต่างๆ ไว้ให้แล้ว อีกวิธีหนึ่งก็จะต้องไปแก้ไฟล์ shadow เพื่อแก้ข้อมูลเอาเอง ซึ่งไม่อยากทำเท่าไหร่ กลัวผิดแล้วมีปัญหา สุดท้ายมีคนแถวนี้แนะนำให้ใช้โปรแกรม expect ซึ่งสามารถจำลองการทำงานของโปรแกรมที่ต้องมีการตอบโต้กับผู้ใช้ ให้เราสามารถส่งค่าได้เหมือนกับสั่งงาน โดย expect นี้จะใช้ regular [...]]]></description>
			<content:encoded><![CDATA[<p>ขอพูดถึงคำสั่ง unix  ต่ออีกอันหนึ่งละกัน เนื่องจากเมื่อวานพยายามเขียน script เพื่อสร้าง account แบบเยอะๆ โดยใช้ข้อมูลในไฟล์รายชื่อนักเรียน เพราะว่ามีนักเรียนอยู่ 120 กว่าคน ถ้าให้สร้างด้วยมืออาจจะหมดแรงก่อนได้ ปัญหาเกิดขึ้นตอนกำหนด password ที่แม้ว่าจะมีโปรแกรม pwgen สำหรับสร้าง password ให้โดยอัตโนมัติแล้วก็ตาม แต่โปรแกรม adduser ที่ใช้บน Ubuntu ไม่ยอมให้กำหนด password ไว้เป็น option จึงต้องหาวิธีอื่นๆ ซึ่งก็มีหลายวิธี เช่น เปลี่ยนไปใช้ useradd (ชื่อคล้ายกัน สับสนดีแท้) แทนเนื่องจากกำหนดรายละเอียดต่างๆ ได้เยอะ แต่ก็มีปัญหาที่จะต้องตามไปกำหนดเงื่อนไขต่างๆ ยุ่งยากพอสมควรในขณะที่ adduser มีอีกคนกำหนดค่าต่างๆ ไว้ให้แล้ว อีกวิธีหนึ่งก็จะต้องไปแก้ไฟล์ shadow เพื่อแก้ข้อมูลเอาเอง ซึ่งไม่อยากทำเท่าไหร่ กลัวผิดแล้วมีปัญหา</p>
<p>สุดท้ายมีคนแถวนี้แนะนำให้ใช้โปรแกรม expect ซึ่งสามารถจำลองการทำงานของโปรแกรมที่ต้องมีการตอบโต้กับผู้ใช้ ให้เราสามารถส่งค่าได้เหมือนกับสั่งงาน โดย expect นี้จะใช้ regular expression เพื่อเทียบข้อความที่โปรแกรมแสดงออกมา แล้วจึงสามารถใช้คำสั่ง send เพื่อส่งข้อความหรืออินพุตกลับไปได้ เช่น</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/usr/bin/expect -f</span>
&nbsp;
spawn <span style="color: #c20cb9; font-weight: bold;">passwd</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>lindex <span style="color: #007800;">$argv</span> <span style="color: #000000;">0</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #000000; font-weight: bold;">set</span> password <span style="color: #7a0874; font-weight: bold;">&#91;</span>lindex <span style="color: #007800;">$argv</span> <span style="color: #000000;">1</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
expect <span style="color: #ff0000;">&quot;password:&quot;</span>
send <span style="color: #ff0000;">&quot;<span style="color: #007800;">$password</span><span style="color: #000099; font-weight: bold;">\r</span>&quot;</span>
expect <span style="color: #ff0000;">&quot;password:&quot;</span>
send <span style="color: #ff0000;">&quot;<span style="color: #007800;">$password</span><span style="color: #000099; font-weight: bold;">\r</span>&quot;</span>
expect eof</pre></div></div>

<p>จากโปรแกรม คำสั่ง expect เป็นการกำหนดให้รอจนกระทั่งมีข้อความที่กำหนดแสดงขึ้นมา ส่วนคำสั่ง send ก็จะเป็นส่งข้อมูลซึ่งก็คือ password ของเราไปให้โปรแกรม ที่เรียกมาทำงานโดยใช้คำสั่ง spawn ทั้งหมดนี้ไม่ได้เขียนเองหรอก ดูจากที่อ้างอิงได้ </p>
<p>อ้างอิง: http://floppsie.comp.glam.ac.uk/Glamorgan/gaius/scripting/5.html</p>
]]></content:encoded>
			<wfw:commentRss>http://cholwich.org/wordpress/2008/07/08/expect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AWK</title>
		<link>http://cholwich.org/wordpress/2008/07/05/awk/</link>
		<comments>http://cholwich.org/wordpress/2008/07/05/awk/#comments</comments>
		<pubDate>Sat, 05 Jul 2008 05:17:47 +0000</pubDate>
		<dc:creator>cholwich</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[awk]]></category>
		<category><![CDATA[text processing]]></category>

		<guid isPermaLink="false">http://cholwich.org/wordpress/?p=70</guid>
		<description><![CDATA[ตอนนี้พยายามเขียนเรื่องให้มีสาระมากขึ้น มากกว่าแค่แปะลิงก์ แล้วก็กล่าวถึงนิดๆ เพราะลองดูสถิติจาก Google Analytics แล้ว รู้สึกว่ามีคนหลงมาที่นี่เพราะคำสำคัญต่างๆ ที่ใส่ไว้ เห็นมีคนตามมาอ่านเรื่อง fpdf ที่บ่นๆ ไว้ ไม่ค่อยมีสาระเท่าไหร่ คนอ่านคงจะเซ็งว่าไอ้บ้านี่เขียนอะไรไม่มีประโยชน์เลย awk เป็นเครื่องมือที่ช่วยจัดการไฟล์ข้อความ โดยมองว่าข้อมูลในไฟล์แบ่งเป็นเรคอร์ดและฟิลด์ สามารถระบุได้ว่าจะให้ใช้เครื่องหมายอะไรตัวแบ่งระหว่างฟิลด์หรือเรคอร์ด ลองดูตัวอย่างง่ายๆ กันก่อน ถ้าผมมีไฟล์ข้อมูลคะแนนนักเรียนอยู่ แบ่งเรคอร์ดตามบรรทัด และแบ่งฟิลด์ด้วยแท็บ 4822111111 10 4822222222 13 4833333333 14 4844444444 9 ถ้าจะแปลงข้อมูลในไฟล์นี้เป็นตารางในแบบ html ก็ทำได้โดยอ่านไฟล์มาทีละบรรทัด แล้วเพิ่มแท็ก tr และ td ลงไป BEGIN &#123; FS=&#34;\t&#34; print &#34;&#60;table&#62;&#34; &#125; &#160; &#123; print &#34;&#60;tr&#62;&#60;td&#62;&#34;$1&#34;&#60;/td&#62;&#60;td&#62;&#34;$2&#34;&#60;/td&#62;&#60;/tr&#62;&#34; &#125; &#160; END &#123; print [...]]]></description>
			<content:encoded><![CDATA[<p>ตอนนี้พยายามเขียนเรื่องให้มีสาระมากขึ้น มากกว่าแค่แปะลิงก์ แล้วก็กล่าวถึงนิดๆ เพราะลองดูสถิติจาก Google Analytics แล้ว รู้สึกว่ามีคนหลงมาที่นี่เพราะคำสำคัญต่างๆ ที่ใส่ไว้ เห็นมีคนตามมาอ่านเรื่อง fpdf ที่บ่นๆ ไว้ ไม่ค่อยมีสาระเท่าไหร่ คนอ่านคงจะเซ็งว่าไอ้บ้านี่เขียนอะไรไม่มีประโยชน์เลย</p>
<p>awk เป็นเครื่องมือที่ช่วยจัดการไฟล์ข้อความ โดยมองว่าข้อมูลในไฟล์แบ่งเป็นเรคอร์ดและฟิลด์ สามารถระบุได้ว่าจะให้ใช้เครื่องหมายอะไรตัวแบ่งระหว่างฟิลด์หรือเรคอร์ด ลองดูตัวอย่างง่ายๆ กันก่อน ถ้าผมมีไฟล์ข้อมูลคะแนนนักเรียนอยู่ แบ่งเรคอร์ดตามบรรทัด และแบ่งฟิลด์ด้วยแท็บ</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">4822111111	10
4822222222	13
4833333333	14
4844444444	9</pre></div></div>

<p>ถ้าจะแปลงข้อมูลในไฟล์นี้เป็นตารางในแบบ html ก็ทำได้โดยอ่านไฟล์มาทีละบรรทัด แล้วเพิ่มแท็ก tr และ td ลงไป</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">BEGIN <span style="color: #7a0874; font-weight: bold;">&#123;</span>
  <span style="color: #007800;">FS</span>=<span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span>
  print <span style="color: #ff0000;">&quot;&lt;table&gt;&quot;</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#123;</span>
  print <span style="color: #ff0000;">&quot;&lt;tr&gt;&lt;td&gt;&quot;</span><span style="color: #007800;">$1</span><span style="color: #ff0000;">&quot;&lt;/td&gt;&lt;td&gt;&quot;</span><span style="color: #007800;">$2</span><span style="color: #ff0000;">&quot;&lt;/td&gt;&lt;/tr&gt;&quot;</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
END <span style="color: #7a0874; font-weight: bold;">&#123;</span>
  print <span style="color: #ff0000;">&quot;&lt;/table&gt;&quot;</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span></pre></div></div>

<p>เมื่อเขียนเสร็จ ก็ลองเอามาใช้งานได้โดย</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">$ awk -f [awk-file] &amp;lt; [data-file]</pre></div></div>

<p>จะได้ผลเป็นตารางในตามข้างล่าง</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;table border=&quot;0&quot;&gt;
&lt;tr&gt;
&lt;td&gt;4822111111&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4822222222&lt;/td&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4833333333&lt;/td&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4844444444&lt;/td&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</pre></div></div>

<p>ในโปรแกรม awk ข้างต้น แบ่งออกเป็น 3 ส่วน แต่ละส่วนแบ่งด้วยวงเล็บปีกกา ส่วนแรกมีคำว่า BEGIN กำหนดอยู่หมายความว่าให้ทำครั้งเดียวตอนเริ่มต้นอ่านไฟล์ ในที่นี้กำหนดให้ใช้แท็บเป็นตัวแบ่งฟิลด์ แล้วก็พิมพ์ &#8220;&lt;table&gt;&#8221; ออกมา</p>
<p>ส่วนที่สองไม่ได้กำหนดอะไรไว้ก่อนเครื่องหมายวงเล็บปีกกาเปิด ก็จะทำงานทุกครั้งเมื่อขึ้นเรคอร์ดใหม่ จึงเป็นการพิมพ์ข้อมูลทีละแถวในตาราง โดย $1 ใช้แทนข้อมูลในฟิลด์ที่ 1 และ $2 จะแทนฟิลด์ที่ 2  ไปเรื่อยๆ</p>
<p>ส่วนที่สามเริ่มต้นด้วย END จะทำงานเพียงครั้งเดียวเมื่ออ่านไฟล์ทั้งหมดเสร็จแล้ว ดังนั้นจึงแค่พิมพ์ &#8220;&lt;/table&gt;&#8221; ออกมาในตอนท้าย</p>
<p>ด้วยลักษณะที่ awk ทำงานตามเรคอร์ดและฟิลด์ ทำให้การเขียนโปรแกรมเพื่อจัดการกับข้อมูลต่างๆ ทำได้สะดวกขึ้น ไม่จำเป็นต้องเขียนลูปเพื่อวนรอบ แค่เขียนเป็นกฎไว้เท่านั้นก็พอ นอกจากนี้ยังสามารถระบุให้ทำงานกับเรคอร์ดที่แตกต่างกันได้ด้วย โดยใช้ Regular Expression กำหนดรูปแบบของเรคอร์ดนั้น เช่น</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>^<span style="color: #000000;">4822</span><span style="color: #000000; font-weight: bold;">/</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span> print <span style="color: #ff0000;">&quot;48&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#125;</span></pre></div></div>

<p>กฎข้างต้นจะทำให้พิมพ์คำว่า &#8220;48&#8243; เมื่อเรคอร์ดขึ้นต้นด้วย &#8220;4822&#8243; ตามที่กำหนดไว้ใน RE เท่านั้น</p>
<p>จริงๆ แล้วโปรแกรมข้างต้นผมเขียนขึ้นมาใช้งานจริง เวลาจะเอาคะแนนของนักเรียนไปประกาศบนเว็บ หลายคนอาจจะสงสัยว่าทำไมไม่ใช้โปรแกรมพวกสเปรดชีท ทำไมต้องมาใช้ awk ให้เสียเวลา คำตอบก็คือ ผมไม่เคยสามารถทำให้โปรแกรมสเปรดชีทต่างๆ สร้างตารางในรูปแบบ html ที่สะอาดๆ ได้เลย ลองมาหลายโปรแกรมแล้ว ทุกๆ อันจะต้องแทรกโน้นนี่มาให้ตลอด แล้วผมก็เป็นพวกโรคจิต ถ้าเห็นโค้ดที่ไม่สะอาดรกรุงรัง ก็จะต้องพยายามหาทางทำให้สะอาด เนื่องจากอยากให้ตารางมันแสดงไปตามรูปแบบที่เรากำหนดไว้แล้ว สุดท้ายเลยตัดสินใจใช้ awk ดีกว่าสร้างโค้ดได้สะอาดสมใจ</p>
<p>แต่ว่าโปรแกรมข้างต้นก็ยังมีข้อจำกัดอยู่ที่กำหนดจำนวนฟิลด์ไว้ตายตัว ทำให้ไม่ยืดหยุ่นเท่าไหร่ ถ้ามีคะแนนหลายๆ ค่า แต่เนื่องจาก awk นั้นมี control structure อยู่หลายแบบ จึงสามารถเขียนให้ยืดหยุ่นขึ้นได้อีกเป็น</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">BEGIN <span style="color: #7a0874; font-weight: bold;">&#123;</span>
  <span style="color: #007800;">FS</span>=<span style="color: #ff0000;">&quot; &quot;</span>
  <span style="color: #007800;">ORS</span>=<span style="color: #ff0000;">&quot;&quot;</span>
  print <span style="color: #ff0000;">&quot;&lt;table class=<span style="color: #000099; font-weight: bold;">\&quot;</span>attendance<span style="color: #000099; font-weight: bold;">\&quot;</span> border=<span style="color: #000099; font-weight: bold;">\&quot;</span>0<span style="color: #000099; font-weight: bold;">\&quot;</span>&gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#123;</span>
  print <span style="color: #ff0000;">&quot;&lt;tr&gt;&quot;</span>
  <span style="color: #000000; font-weight: bold;">for</span><span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #007800;">i</span>=<span style="color: #000000;">1</span>; i<span style="color: #000000; font-weight: bold;">&amp;</span>lt;=NF; i++<span style="color: #7a0874; font-weight: bold;">&#41;</span>
    print <span style="color: #ff0000;">&quot;&lt;td&gt;&quot;</span><span style="color: #007800;">$i</span><span style="color: #ff0000;">&quot;&lt;/td&gt;&quot;</span>
  print <span style="color: #ff0000;">&quot;&lt;/tr&gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
END <span style="color: #7a0874; font-weight: bold;">&#123;</span>
  print <span style="color: #ff0000;">&quot;&lt;/table&gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span></pre></div></div>

<p>NF เป็นตัวแปรระบุจำนวนฟิลด์ ซึ่งทำให้เราสามารถใช้ลูปเพื่อพิมพ์ข้อมูลจากทุกๆ ฟิลด์ได้</p>
]]></content:encoded>
			<wfw:commentRss>http://cholwich.org/wordpress/2008/07/05/awk/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

