Blog Archives

xargsで標準入力がない場合の条件分岐

find と xargs を組み合わせて処理するとき、find 結果が一件もない場合がある。 たとえば、xargs で tar すると、引数が一件もない場合は以下のように終了ステータスが異常になってしまう。終了ステータスをチェックする処理が入っていると、これでは困る。 こういうケースでは、xargs に GNU 拡張の –no-run-if-empty/-r オプションを渡すと、標準入力が何もなければコマンドが実行されなくなる。 –no-run-if-empty/-r If the standard input does not contain any nonblanks, do not run the command. Normally, the command is run once even if there is

Tagged with: , ,
Posted in linux, tip

スクリーンキャストで学ぶGNU Parallel

プログラムを並列処理する GNU Parallel 作者の Ole Tange が YouTube で GNU Parallel の初心者向けチュートリアル(スクリーンキャスト)を2本(ともに10分)公開していたので内容をざっとメモ。 GNU Parallel はコマンドラインツールなので、コマンドを実行しながらひたすらしゃべって解説しているだけ。 スクリーンキャストといっても、Web フレームワークのような華やかさは全くない。 Part 1: GNU Parallel script processing and execution GNU PARALLEL – BASIC USAGE GET GNU PARALLEL ダウンロードとインストール YOUR FIRST PARALLEL JOBS 合計1GB の大量のログファイルを圧縮&解凍

Tagged with: ,
Posted in linux, tip

Using OCR in Google Docs

Google Docs を使うと、PDF/画像ファイルからテキストを復元できる。 やりかたは簡単で 「Convert text from PDF or image files to Google Docs documents.」のチェックを入れ ドキュメントが書かれている言語を指定するだけ(マイナーな言語の場合、何語かわからない場合もあるけど、、、) —– この機能は2010年の6月に開始され、2011年2月末には34カ国語に対応している。 Optical character recognition (OCR) in Google Docs (June 22, 2010) Optical Character Recognition (OCR) in 34 languages (February 28, 2011) さらには Google

Tagged with: ,
Posted in tip

Excelの列番号を数字に変換

■前提 Excel の列番号は A-Z で 26 表記されている。 ■ユースケース CSVファイルをExcel内でしか処理していない人は「10列目」のことを「J列目」と表現したりするので、10進表記と「A-Z」の26進表記を手っ取り早く変換したい場合の利用を想定。 ■プログラム 深い理由はないけれども、とりあえず Python で実装 ・10進→26進変換(num2char) ・26進→10進変換(char2num) def num2char(num): ”’ 1 -> A 27 -> AA ”’ quotient, remainder = divmod(num, 26) chars = ” if quotient > 0: chars = chr(quotient

Tagged with: , , ,
Posted in algorithm, MSOffice, python, tip

screenでスクロールバック

GNU screen 使用中に画面をスクロールバックしたい場合、screen にビルトインされたコピー機能を利用することでロールバック可能。 ■ロールバック方法 次のコマンドでロールバック可能になる。 エスケープキー + <ESC> このコマンドを入力すると、コピーモードを伝えるメッセージが表示される。 Copy mode – Column 23 Line 42(+1024) (91,42) コピーモードに入った後は、vi と同じキー操作でスクロールすることが可能。 なお、コピーモードを抜けるには <ESCAPE KEY> を実行すればよい。 「Copy mode aborted」というメッセージが表示される。 ■コピー方法 コピーモードでは、範囲指定してテキストをコピーできる。 コピー開始/終了の合図は <SPACE KEY> で行う。 開始時には「First Mark Set」のメッセージが、終了時には「Copied 2263 characters into buffer」のようなメッセージが表示される。

Tagged with:
Posted in linux, tip

screenでスクリーンロックをかける

■screen で画面ロックをかける GNU screen 使用中に画面ロックをかけたい場合「METAキー + x」を入力すればよい。 Call a screenlock program (/local/bin/lck or /usr/bin/lock or a builtin, if no other is available). Screen does not accept any command keys until this program terminates. Meanwhile processes in the windows may continue,

Tagged with: , , ,
Posted in linux, tip

VIMで空白行を削除

忘れた頃に必要になる %g/^$/d

Tagged with:
Posted in tip
Archives
  • RT @__apf__: How to write a research paper: a guide for software engineers & practitioners. docs.google.com/presentation/d… /cc @inwyrd 6 days ago
  • RT @HayatoChiba: 昔、自然と対話しながら数学に打ち込んだら何かを悟れるのではと思いたち、専門書1つだけ持ってパワースポットで名高い奈良の山奥に1週間籠ったことがある。しかし泊まった民宿にドカベンが全巻揃っていたため、水島新司と対話しただけで1週間過ぎた。 それ… 3 weeks ago
  • RT @googlecloud: Ever wonder what underwater fiber optic internet cables look like? Look no further than this deep dive w/ @NatAndLo: https… 3 weeks ago
  • @ijin UTC+01:00 な時間帯で生活しています、、、 6 months ago
  • RT @mattcutts: Google's world-class Site Reliability Engineering team wrote a new book: amazon.com/Site-Reliabili… It's about managing produc… 9 months ago