<?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>Unix Linux全般 | ITドカタ</title>
	<atom:link href="https://blog.it-see.net/it-dokata/category/unix/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.it-see.net/it-dokata</link>
	<description>ICT関連の役立つかもしれない情報を発信するブログ。</description>
	<lastBuildDate>Tue, 01 Nov 2022 16:28:44 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>

<image>
	<url>https://blog.it-see.net/it-dokata/wp-docs/wp-content/uploads/2019/05/cropped-job_it_dokata2-32x32.png</url>
	<title>Unix Linux全般 | ITドカタ</title>
	<link>https://blog.it-see.net/it-dokata</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>iconvコマンドで文字コードを変換する</title>
		<link>https://blog.it-see.net/it-dokata/unix/iconv/</link>
		
		<dc:creator><![CDATA[いっしー]]></dc:creator>
		<pubDate>Mon, 13 May 2019 10:14:51 +0000</pubDate>
				<category><![CDATA[Unix Linux全般]]></category>
		<guid isPermaLink="false">https://blog.it-see.net/it-dokata/?p=96</guid>

					<description><![CDATA[文字コードを変換するコマンドは、nkfがよく使われていましたが、最近ではiconvもよく使われているようです。nkfは追加でインストールが必要ですが、iconvはUNIXライクなOSに、ほぼ標準でインストールされています [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p> 文字コードを変換するコマンドは、nkfがよく使われていましたが、最近ではiconvもよく使われているようです。nkfは追加でインストールが必要ですが、iconvはUNIXライクなOSに、ほぼ標準でインストールされています。 <br><br> iconvとnkfの違いは、nkfでは改行コードを変換することが可能ですが、iconvは改行コードの変換には対応していません。改行コードの変換が必要な場合、他のツールを併用して改行コードを変換する必要があります。 </p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0"> iconvの書式</a></li><li><a href="#toc2" tabindex="0">iconvの使い方</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1"> iconvの書式</span></h2>



<p> &lt;書式&gt; <br>　　<strong>iconv [オプション] 入力ファイル</strong></p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>&lt;オプション&gt;</p>



<figure class="wp-block-table alignfull"><table><tbody><tr><td> -f</td><td>変換元の文字コードを指定。</td></tr><tr><td> -t </td><td>変換したい文字コードを指定。</td></tr><tr><td> -o</td><td>出力先のファイル名を指定。</td></tr><tr><td> -c</td><td>変換できなかった文字を出力しない。</td></tr><tr><td> -s</td><td>変換できなかった場合にエラーメッセージを表示しない。</td></tr><tr><td> -l</td><td>利用可能な文字コードを表示する。</td></tr></tbody></table></figure>



<ul class="wp-block-list"><li>入力ファイルを指定しなかった場合は標準入力から入力します。</li><li>出力先(-o)を指定しなかった場合は標準出力へ出力します。</li></ul>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p> &lt;指定できる主な文字コード&gt; <br>UTF-8, UTF-16, UTF-32, SJIS, SHIFT-JIS, EUCJP,EUC-JP, ISO-2022JP, ISO-2022-JP, CP932</p>



<h2 class="wp-block-heading"><span id="toc2">iconvの使い方</span></h2>



<p> ◇ iconvで使用できる文字コードの種類を確認する</p>



<pre class="wp-block-preformatted"> $ iconv -l</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>◇Shift-jisをUTF-8に変換する場合</p>



<p class="has-text-align-center">&lt;サンプル&gt;</p>



<div class="wp-block-image"><figure class="aligncenter"><img fetchpriority="high" decoding="async" width="367" height="278" src="https://blog.it-see.net/it-dokata/wp-docs/wp-content/uploads/2019/05/sample.png" alt="" class="wp-image-99" srcset="https://blog.it-see.net/it-dokata/wp-docs/wp-content/uploads/2019/05/sample.png 367w, https://blog.it-see.net/it-dokata/wp-docs/wp-content/uploads/2019/05/sample-300x227.png 300w" sizes="(max-width: 367px) 100vw, 367px" /></figure></div>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>例1. 変換して画面に表示する</p>



<pre class="wp-block-preformatted">$ iconv -f SJIS -t UTF-8 sample.txt</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>例2. 変換できない文字を無視して処理を続行する。</p>



<pre class="wp-block-preformatted">$ iconv -c -f SJIS -t UTF-8 sample.txt</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>例3. 変換してファイルに保存する(リダイレクション)</p>



<pre class="wp-block-preformatted">$ iconv -f SJIS -t UTF-8 sample.txt &gt; utf8.txt</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>例4. 変換してファイルに保存する(-o で指定する)</p>



<pre class="wp-block-preformatted">$ iconv -f SJIS -t UTF-8 sample.txt -o utf8.txt</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>例5. 標準入力から受け取って変換する(リダイレクション)</p>



<pre class="wp-block-preformatted">$ iconv -f SJIS -t UTF-8 &lt; sample.txt</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>例6. 標準入力から受け取って変換する(パイプ)</p>



<pre class="wp-block-preformatted">$ cat sample.txt | iconv -f SJIS -t UTF-8</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>実は、sample.txtを例のように変換すると、例2 以外は以下のエラーメッセージを表示して終了します。</p>



<pre class="wp-block-preformatted">[CentOS]
 〇付数字：iconv: 位置 142 に不正な入力シーケンスがあります
[FreeBSD]
 〇付数字：
 iconv: sample.txt:9:10: cannot convert</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>これは、変換元の文字コードの指定に「SJIS,SHIFT-JIS」を指定しているためです。「SJIS,SHIFT-JIS」は丸付数字などの機種依存文字に対応していません。</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center">&lt;-c を指定して変換できない文字を無視して出力&gt;</p>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" width="433" height="339" src="https://blog.it-see.net/it-dokata/wp-docs/wp-content/uploads/2019/05/機種依存文字を無視.png" alt="" class="wp-image-101" srcset="https://blog.it-see.net/it-dokata/wp-docs/wp-content/uploads/2019/05/機種依存文字を無視.png 433w, https://blog.it-see.net/it-dokata/wp-docs/wp-content/uploads/2019/05/機種依存文字を無視-300x235.png 300w" sizes="(max-width: 433px) 100vw, 433px" /></figure></div>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>MicrosoftのWindows OSで使用されている機種依存文字を含むシフトJISコードのテキストは「CP932」を指定する必要があります。</p>



<pre class="wp-block-preformatted">$ iconv -f CP932 -t UTF-8 sample.txt</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center">&lt;「CP932」を指定した時の出力&gt;</p>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" width="437" height="337" src="https://blog.it-see.net/it-dokata/wp-docs/wp-content/uploads/2019/05/機種依存文字を含む.png" alt="" class="wp-image-102" srcset="https://blog.it-see.net/it-dokata/wp-docs/wp-content/uploads/2019/05/機種依存文字を含む.png 437w, https://blog.it-see.net/it-dokata/wp-docs/wp-content/uploads/2019/05/機種依存文字を含む-300x231.png 300w" sizes="(max-width: 437px) 100vw, 437px" /></figure></div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>行番号を出力する -UNIX-</title>
		<link>https://blog.it-see.net/it-dokata/unix/insert-line-number-2/</link>
		
		<dc:creator><![CDATA[いっしー]]></dc:creator>
		<pubDate>Fri, 10 May 2019 10:09:01 +0000</pubDate>
				<category><![CDATA[Unix Linux全般]]></category>
		<guid isPermaLink="false">https://blog.it-see.net/it-dokata/?p=51</guid>

					<description><![CDATA[Unixでテキストファイルの出力に行番号を表示させるには以下のコマンドで表示できます。 &#60;テキストファイルのサンプル：hello.c&#62; 目次 (1) catコマンドを使う(2) nlコマンドを使う (1) c [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Unixでテキストファイルの出力に行番号を表示させるには以下のコマンドで表示できます。</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>&lt;テキストファイルのサンプル：hello.c&gt;</p>



<pre class="wp-block-code"><code>/* hello, world! と出力するプログラム */

#include &lt;stdio.h>

int main(void)
{
    puts("hello, world!");
    return 0;
}</code></pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">(1) catコマンドを使う</a></li><li><a href="#toc2" tabindex="0">(2) nlコマンドを使う</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">(1) catコマンドを使う</span></h2>



<p>
&lt;実行例１&gt;

</p>


<pre class="sh"><code>$ cat -b hello.c
     1	/* hello, world! と出力するプログラム */

     2	#include &lt;stdio.h&gt;

     3	int main(void)
     4	{
     5	    puts("hello, world!");
     6	    return 0;
     7	}

$ cat -n hello.c
     1	/* hello, world! と出力するプログラム */
     2	
     3	#include &lt;stdio.h&gt;
     4	
     5	int main(void)
     6	{
     7	    puts("hello, world!");
     8	    return 0;
     9	}
    10	</code></pre>


<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>


<p>-b : 非空白行に１から始まる番号を付ける。<br data-rich-text-line-break="true">-n : １から始まる行番号を付ける。</p>


<h2 class="wp-block-heading"><span id="toc2">(2) nlコマンドを使う</span></h2>



<p>&lt;実行例1&gt;</p>


<pre class="sh"><code>$ nl -b a hello.c
     1	/* hello, world! と出力するプログラム */
     2	
     3	#include &lt;stdio.h&gt;
     4	
     5	int main(void)
     6	{
     7	    puts("hello, world!");
     8	    return 0;
     9	}
    10 </code></pre>


<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>&lt;実行例2&gt;</p>


<pre class="sh"><code>$ nl -b a -s ": " hello.c
     1: /* hello, world! と出力するプログラム */
     2: 
     3: #include &lt;stdio.h&gt;
     4: 
     5: int main(void)
     6: {
     7:     puts("hello, world!");
     8:     return 0;
     9: }
    10: 

$ nl -b a -s "&gt; " hello.c
     1&gt; /* hello, world! と出力するプログラム */
     2&gt; 
     3&gt; #include &lt;stdio.h&gt;
     4&gt; 
     5&gt; int main(void)
     6&gt; {
     7&gt;     puts("hello, world!");
     8&gt;     return 0;
     9&gt; }
    10&gt; </code></pre>


<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>&lt;実行例3&gt;</p>


<pre class="sh"><code>$ nl -b a -w 3 -s ": " -n rz hello.c
001: /* hello, world! と出力するプログラム */
002: 
003: #include &lt;stdio.h&gt;
004: 
005: int main(void)
006: {
007:     puts("hello, world!");
008:     return 0;
009: }
010: </code></pre>


<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>&lt;実行例4&gt;</p>


<pre class="sh"><code>$ nl -b a -w 2 -s ": " -v 0 hello.c
 0: /* hello, world! と出力するプログラム */
 1: 
 2: #include &lt;stdio.h&gt;
 3: 
 4: int main(void)
 5: {
 6:     puts("hello, world!");
 7:     return 0;
 8: }
 9: 

$ nl -b a -w 2 -s ": " -v 5 hello.c
 5: /* hello, world! と出力するプログラム */
 6: 
 7: #include &lt;stdio.h&gt;
 8: 
 9: int main(void)
10: {
11:     puts("hello, world!");
12:     return 0;
13: }
14: </code></pre>


<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>


<p>-b type　</p>
<p>「type」で指定した行番号を付ける。</p>
<p style="padding-left: 40px;">a : すべての行に行番号を付ける。</p>
<p style="padding-left: 40px;">t : 空白行以外の行に行番号を付ける。※デフォルト。「cat -b hello.c」と同じ表示。</p>
<p style="padding-left: 40px;">n : 行番号を付けない。</p>
<p></p>
<p>-s sep</p>
<p>行番号と対応するテキスト行を分離する文字を指定する。</p>
<p></p>
<p>-n format</p>
<p>行番号の出力形式を指定する。</p>
<p style="padding-left: 40px;">ln : 左詰め。</p>
<p style="padding-left: 40px;">rn : 右詰め。空白桁を「0」表示しない。※デフォルト</p>
<p style="padding-left: 40px;">rz : 右詰め。空白桁を「0」表示。</p>
<p></p>
<p>-v StartNum</p>
<p>行番号の初期値　※デフォルトは「1」</p>


<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">[応用例]　行番号付のテキストファイルを作る</h4>



<p>&lt;実行例&gt;</p>


<pre class="sh"><code>$ nl -b a -w 2 -s ": " hello.c &gt; hello-num.c
$ cat hello-num.c
 1: /* hello, world! と出力するプログラム */
 2: 
 3: #include &lt;stdio.h&gt;
 4: 
 5: int main(void)
 6: {
 7:     puts("hello, world!");
 8:     return 0;
 9: }
10: 


# /(ルート)配下のディレクトリのリストを作る

$ ls -1 / | nl -w3 -s ": " -n rz &gt; dir.txt
$ cat dir.txt
001: 1
002: bin
003: boot
004: dev
005: etc
006: home
007: lib
008: lib64
009: media
010: mnt
011: opt
012: proc
013: root
014: run
015: sbin
016: srv
017: sys
018: tmp
019: usr
020: var</code></pre>


<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p> ls -1 は１行につき１エントリを表示します。 </p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>空ファイルの作り方 -UNIX-</title>
		<link>https://blog.it-see.net/it-dokata/unix/make-empty-file-2/</link>
		
		<dc:creator><![CDATA[いっしー]]></dc:creator>
		<pubDate>Wed, 08 May 2019 07:36:01 +0000</pubDate>
				<category><![CDATA[Unix Linux全般]]></category>
		<guid isPermaLink="false">https://blog.it-see.net/it-dokata/?p=30</guid>

					<description><![CDATA[Unixで空ファイルを作るには以下のコマンドで作成できます。 目次 (1) catコマンドを使う(2) cpコマンドを使う(3) echoコマンドを使う(4) touchコマンドを使う (1) catコマンドを使う 実行 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Unixで空ファイルを作るには以下のコマンドで作成できます。</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6" checked><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">(1) catコマンドを使う</a></li><li><a href="#toc2" tabindex="0">(2) cpコマンドを使う</a></li><li><a href="#toc3" tabindex="0">(3) echoコマンドを使う</a></li><li><a href="#toc4" tabindex="0">(4) touchコマンドを使う</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">(1) catコマンドを使う</span></h2>



<p>実行例</p>


<pre class="sh"><code>$ cat /dev/null &gt; a.txt</code></pre>


<h2 class="wp-block-heading"><span id="toc2">(2) cpコマンドを使う</span></h2>



<p>実行例</p>


<pre class="sh"><code>$ cp /dev/null a.txt</code></pre>


<h2 class="wp-block-heading"><span id="toc3">(3) echoコマンドを使う</span></h2>



<p>実行例</p>


<pre class="sh"><code>$ echo -n &gt; a.txt</code></pre>
<p>-n : 改行を出力しない。</p>
<p style="padding-left: 40px;">-nを指定しないと改行コードが含まれたファイルが作成される。</p>


<h2 class="wp-block-heading"><span id="toc4">(4) touchコマンドを使う</span></h2>



<p>実行例</p>


<pre class="sh"><code>$ touch a.txt</code></pre>


<p>touchコマンドはファイルの更新日時を変更するコマンドですが、指定したファイルが存在しない場合、指定したファイルを作成します。</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-cocoon-blocks-label-box-1 label-box lb-cyan block-box"><div class="label-box-label block-box-label"><span class="label-box-label-text block-box-label-text">nullデバイスとは</span></div><div class="label-box-content">
<p>
nullは、「何もない」という意味で、nullデバイスは存在しない架空のデバイスをあらわします。出力先にnullデバイスを指定すると出力データは破棄されます。入力にnullデバイスを指定すると空のファイルや空のデータとして扱われます。 

</p>
</div></div>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
