差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
コマンド [2021/05/27 22:28] skkコマンド [2024/09/02 21:31] (現在) skk
行 1: 行 1:
-[[コマンド]]\\ OS に関係なく利用できるコマンドに関して.+[[コマンド]] / LM: [2024-09-02 21:31:29] 
 +~~NOCACHE~~ 
 + 
 +OS に関係なく利用できるコマンドに関して. 
 ---- ----
  
-====== imapfilter ======+====== - pandoc ====== 
 + 
 +===== - 概要 ===== 
 +pandoc はテキストフォーマットを ,別のフォーマットに変化する為のツール.markdown から HTML やら PDF やらに変更したり出来る.[2023-09-10] 時点で入力できるリストは以下の通り. 
 + 
 +   0:21 [0] skk@skk-T14% pandoc --list-input-formats 
 +   commonmark 
 +   creole 
 +   docbook 
 +   docx 
 +   epub 
 +   fb2 
 +   gfm 
 +   haddock 
 +   html 
 +   jats 
 +   json 
 +   latex 
 +   man 
 +   markdown 
 +   markdown_github 
 +   markdown_mmd 
 +   markdown_phpextra 
 +   markdown_strict 
 +   mediawiki 
 +   muse 
 +   native 
 +   odt 
 +   opml 
 +   org 
 +   rst 
 +   t2t 
 +   textile 
 +   tikiwiki 
 +   twiki 
 +   vimwiki 
 + 
 +===== - MarkDown → PDF =====  
 + 
 +==== - 概要 =====  
 + 
 +github などの影響で MarkDown が各所で使われているが,ある程度整形された状態で印刷しようと考えると,Windows 編集ツールは有料のものしか見つからなかった[2023-09-10].一時期 Typora を使っていたがいつの間にか有料になっていたけど,お金払うほどしょっちゅう印刷するわけではないので,pandoc で済ますことにする. 
 + 
 +==== - インストール ==== 
 + 
 +Linux なら apt で探す.FreeBSD なら pkg または ports でインストール.ports の場合,大きなソフトウェアなので少し時間がかかる. 
 + 
 +==== - MarkDown の亜種 ==== 
 +[2023-11-15] 
 + 
 +MarkDown の種類がどれくらいあるのか分からないが,少なくとも入力フォーマットとして,以下が存在しているらしい. 
 + 
 +   markdown 
 +   markdown_github 
 +   markdown_mmd 
 +   markdown_phpextra 
 +   markdown_strict 
 + 
 +markdown_github は pandoc 2.0 以上だとあまり推奨されてなさそうで,gfm というのが使えるようだ. 
 + 
 +標準の markdown だと水平線の表現が半角の ''***'' のようなのだが,redmine wiki と同様の ''---'' にしたい場合,github markdown が良さそう.''pandoc -f markdown_github'' として入力フォーマットを指定すると良い. 
 + 
 + 
 +==== - LaTeX エンジンの選定 ====  
 + 
 +pandoc を使って MD -> PDF と変換する際は,emacs の org-mode などと同様,一度 LaTeX に変換してから PDF を生成する.LaTeX エンジンは色々存在するが,man の --pdf-engine を見ると,以下のエンジンを指定できることが分かる. 
 + 
 +   pdflatex|lualatex|xelatex|wkhtmltopdf|weasyprint|prince|context|pdfroff 
 + 
 +慣れているものを利用すれば良いと思うが,platex がないのでどれでも良かったので,取り急ぎ,今回は lualatex をインストールすることとした. 
 + 
 +   apt-get install texlive-luatex 
 + 
 +==== - 変換コマンド =====  
 + 
 +変換は以下: 
 + 
 +   pandoc hoge.md -o hoge.pdf --pdf-engine=lualatex -V documentclass=bxjsarticle -V classoption=pandoc 
 + 
 +bxjsarticle が昔で言う jarticle のようなスタイルファイル.classoption は何を意味しているのか分かってない. 
 + 
 +==== - 字下げされない ==== 
 + 
 +デフォルトのままだと,段落の行頭が字下げがされていない.[2023-09-10] 時点で,pandoc が提供する以下のテンプレートファイルにて行頭字下げしないように指定されている. 
 + 
 +  /usr/share/pandoc/data/templates/default.latex 
 + 
 +以下の部分をコメントアウトすれば字下げされるようになる. 
 + 
 +<code latex> 
 +\IfFileExists{parskip.sty}{% 
 +\usepackage{parskip} 
 +}{% else 
 +\setlength{\parindent}{0pt} 
 +\setlength{\parskip}{6pt plus 2pt minus 1pt} 
 +
 +</code> 
 + 
 +ファイルを自分のホームディレクトリなど好きな場所に置き,--template でファイルを指定. 
 + 
 +  pandoc hoge.md --template=default.latex -o hoge.pdf --pdf-engine=lualatex -V documentclass=bxjsarticle -V classoption=pandoc 
 + 
 +==== - ページの余白がでか過ぎる ==== 
 + 
 +デフォルトのままだと,余白が多き過ぎて印刷した際に紙がもったいない.default.latex 内の \begin{document} の前あたり,行数だと 350 行目あたりに以下の設定を追記し,余白を狭くした. 
 + 
 + 
 +<code latex> 
 +\setlength{\topmargin}{15mm} 
 +\addtolength{\topmargin}{-1in} 
 +\setlength{\oddsidemargin}{20mm} 
 +\addtolength{\oddsidemargin}{-1in} 
 +\setlength{\evensidemargin}{15mm} 
 +\addtolength{\evensidemargin}{-1in} 
 +\setlength{\textwidth}{170mm} 
 +\setlength{\textheight}{254mm} 
 +\setlength{\headsep}{0mm} 
 +\setlength{\headheight}{0mm} 
 +\setlength{\topskip}{0mm} 
 +</code> 
 + 
 +==== - タイトルなどを入れる [2023-09-13] ==== 
 + 
 +LaTeX のタイトルや著者などの情報は,markdown の最初の方に以下のように書いておけば設定される. 
 + 
 +<code markdown> 
 +---  
 +title: タイトルだよ 
 +author: skk  
 +date: \today  
 +figureTitle: "図" 
 +tableTitle: "表" 
 +listingTitle: "コード" 
 +figPrefix: "図" 
 +eqnPrefix: "式" 
 +tblPrefix: "表" 
 +lstPrefix: "コード" 
 +---  
 +</code> 
 + 
 +参考ページ:https://yurkth.hateblo.jp/entry/pandoc-markdown 
 + 
 +==== - 定義の記述 [2023-09-14] ==== 
 + 
 +LaTeX における ''\begin{description}'' ''\item[]'' を利用した定義は,MarkDown で以下のように記述する. 
 + 
 +<code> 
 +何かのアイテム 
 +:    
 +: * 定義1 
 +: * 定義2 
 +</code> 
 + 
 +一行目の '':'' の後ろには,全角の空白を置いている.これを置くことで,定義の文章を次の行に改行できる.改行がいらなければ,削除したら良い. 
 + 
 +二行目三行目は実際の定義の文章を書いている.''*'' を置くことで箇条書きになる. 
 + 
 +もし,アイテム部分がすごく長くなる場合,enumitem という LaTeX パッケージが利用できるがまだ試していない為,そのうち試したい.[[https://latex.org/forum/viewtopic.php?t=19838|参考]] 
 + 
 +====== - imapfilter ======
 imap コマンド経由で,lua 言語でフィルタリングを行うコマンド. imap コマンド経由で,lua 言語でフィルタリングを行うコマンド.
  
 -> [[imapfilter]]  -> [[imapfilter]] 
  
-====== nkf  ======+====== nkf  ======
   * unix/mac/windows の改行コード変換     * unix/mac/windows の改行コード変換  
     * --unix, --mac, --windows オプション     * --unix, --mac, --windows オプション
行 14: 行 177:
 % nkf -w --overwrite hoge.txt </code> % nkf -w --overwrite hoge.txt </code>
  
-====== zip コマンド  ====== +====== zip コマンド  ====== 
-===== (基本)zip ファイルを作成する  =====+===== (基本)zip ファイルを作成する  =====
 <code> <code>
 % zip hoge.zip foo/*.jpg  % zip hoge.zip foo/*.jpg 
 </code> </code>
  
-===== ディレクトリ情報は無視して,ファイルのみアーカイブする  =====+===== ディレクトリ情報は無視して,ファイルのみアーカイブする  =====
 <code> <code>
 % zip -j hoge.zip *.jpg % zip -j hoge.zip *.jpg
 </code> </code>
  
-===== zip ファイルの中身を表示する  =====+===== zip ファイルの中身を表示する  =====
 <code> <code>
 % zip -sf hoge.zip  % zip -sf hoge.zip 
行 32: 行 195:
  
  
-====== rsync  ======+====== rsync  ======
  
  
-====== dhclient  ======+====== dhclient  ======
   * dhclient が勝手に、resolv.conf を書き換えるのをやめたいができない。   * dhclient が勝手に、resolv.conf を書き換えるのをやめたいができない。
   * しょうがないので、以下を加えて回避。   * しょうがないので、以下を加えて回避。
行 43: 行 206:
 </code> </code>
  
-====== subversion ====== +====== subversion ====== 
-====== convmv  ======+ 
 +[[subversion]] 参照 
 + 
 + 
 +====== convmv  ======
   * ファイル名の文字コード変更コマンド   * ファイル名の文字コード変更コマンド
 <code> <code>
行 54: 行 221:
     * http://www.geocities.jp/code_air_edge/HP/convmv.html     * http://www.geocities.jp/code_air_edge/HP/convmv.html
  
-====== ffmpeg ======+====== ffmpeg ====== 
 +  * [[ffmpeg]]
  
-====== latex2rtf  ======+ 
 +====== latex2rtf  ======
   * freebsd, linux ともに,標準のコマンドでは日本語に対応していない.   * freebsd, linux ともに,標準のコマンドでは日本語に対応していない.
   * http://tauros.ams.eng.osaka-u.ac.jp/mt/jp/archives/2007_12.html ここに,日本語変換フィルタが公開されている.   * http://tauros.ams.eng.osaka-u.ac.jp/mt/jp/archives/2007_12.html ここに,日本語変換フィルタが公開されている.
行 62: 行 231:
  
  
-====== ssh port forward  ======+====== ssh port forward  ======
   * localhost:1234 -> 192.168.1.22:5901   * localhost:1234 -> 192.168.1.22:5901
 <code> <code>
行 69: 行 238:
   * VNC の場合,ポート番号は 5900 + VNC サーバのディスプレイ番号.よって,5900+1 とか.   * VNC の場合,ポート番号は 5900 + VNC サーバのディスプレイ番号.よって,5900+1 とか.
  
-====== nslookup 使い方  ======+====== - unison  ====== 
 +2 つのマシン間でファイルの同期をとるためのコマンド. 
 + 
 +  * [[unison]] 
 + 
 +====== - nslookup 使い方  ======
   * 指定ドメインの mx を探す   * 指定ドメインの mx を探す
 <code> <code>
行 82: 行 256:
 </code> </code>
  
-====== iso 取り扱いツール  ====== +====== iso 取り扱いツール  ====== 
-===== isomaster  =====+===== isomaster  =====
   * GUI ベース.   * GUI ベース.
  
-====== cab file 取り扱いツール  ====== +====== cab file 取り扱いツール  ====== 
-===== cabextract  ===== +===== cabextract  ===== 
-===== lcab  =====+===== lcab  =====
   * .cab ファイル作成   * .cab ファイル作成
  
-====== find でファイル削除  ======+====== - find ====== 
 + 
 +===== - find で空白ファイル名の空白を削除 [2023-10-12] ===== 
 + 
 +中身は理解してない. 
 + 
 +<code bash> 
 +% find . -type f -name "* *.txt" -exec bash -c 'mv "$0" "${0// /_}"' {} \; 
 +% **find / -type f -name "* *.txt" -exec bash -c 'mv "$0" "${0// /_}"' {} \; 
 +</code> 
 + 
 +引用元: 
 +  * https://www.linuxadictos.com/ja/como-eliminar-espacios-nombres-archivos.html 
 + 
 +===== - find でファイル削除  =====
 linux, freebsd ともに,'{}' が指定したファイル名と置換される部分なので,別の引数は必要に応じて'{}'の前とか後とかにつける. linux, freebsd ともに,'{}' が指定したファイル名と置換される部分なので,別の引数は必要に応じて'{}'の前とか後とかにつける.
-====linux  =====+==== linux  ====
 <code> <code>
 % find . -inode 11111 -ok rm '{}'\; % find . -inode 11111 -ok rm '{}'\;
 </code> </code>
-====freebsd  =====+==== freebsd  ====
 <code> <code>
 % find . -inum 1111 -exec ls '{}' \;  % find . -inum 1111 -exec ls '{}' \; 
行 103: 行 291:
 </code> </code>
  
-====== gnuplot ======+====== - for を使っての複数ファイル処理 ====== 
 + 
 +[2024-08-08] for を使って複数のファイルに対して,一括処理をしたい場合は,僕は以下のように書くことが多い. 
 + 
 +<code bash> 
 +% for HOGE in `ls` 
 +> do 
 +> zip $HOGE.zip $HOGE 
 +> done 
 +</code> 
 + 
 +ただしこの方法は,ls の出力する空白が区切り文字として扱われるため,ファイル名に空白が入っていると上手く処理できない. 
 + 
 +[[https://ugcj.com/%E3%82%B7%E3%82%A7%E3%83%AB%EF%BC%88bash%EF%BC%89%E3%81%A7%E3%82%B9%E3%83%9A%E3%83%BC%E3%82%B9%E3%81%AE%E4%BB%A3%E3%82%8F%E3%82%8A%E3%81%AB%E6%94%B9%E8%A1%8C%E5%8C%BA%E5%88%87%E3%82%8A%E3%81%A7for/|ここ]]を参考に,以下のように区切り文字を改行にしてみたら,問題なく動作するようになった. 
 + 
 +<code bash> 
 +% IFS=$'\n'; for HOGE in `ls` 
 +> do 
 +> zip $HOGE.zip $HOGE 
 +> done 
 +</code> 
 + 
 +[2024-09-02] Ubuntu 附属の /bin/sh だと,この方法は上手く動作せず./usr/bin/zsh では期待の動作.bash では未確認. 
 + 
 + 
 +====== - gnuplot ====== 
 + 
 +---- 
 +このページへのアクセス 
 +今日: {{counter|today}} / 昨日: {{counter|yesterday}} 
 +総計: {{counter|total}} 
  
コマンド.1622122131.txt.gz · 最終更新: 2021/05/27 22:28 by skk
文書の先頭へ
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0