投稿

ラベル(find)が付いた投稿を表示しています

キーボード修理

イメージ
前回 調子が悪くなったと書きましたが、部品が手配できて時間が取れたので直しました。 茶軸のスイッチを購入 Cherryの茶軸は 10個で1,399- ということで購入。 本当は1個で充分なんだけど、仕方なく残りは予備部品として保管。 作業手順 キーボードの裏側ネジを3箇所外します。 左右と中央の丸シールの下。 左右はパッドを貼っているので、少しめくって外します。 (あとで綺麗に戻るので心配なしです) ケーブルが出ている方は、スッと外れ、手前(下側)は、内部に爪が有るので、ピックやカード、マイナスドライバなどで少し隙間を開けるようにして広げれば外れます。 自分は親指の爪で空きました。 今回は「E」が調子悪いので、該当のピン2箇所をハンダ吸いで綺麗に取り除いて、裏側から引き抜いて完了。 基板にしっかりとどのキーかがプリントされているので分かりやすいですねぇ 入手した新品の茶軸を差し込んでハンダ付けします。 この時点で動作確認が可能になるので、直したキーとその周辺が正しく入力できるのをチェック。 問題なく、無事に動作しました。 最後にカバーを取り付けて完了! 残ったのは9個の茶軸…。 今回の費用 Cherryの茶軸10個セット :1,399- キーキャップ引き抜き工具 : 475-  ちなみに10個セットには、簡易引き抜きがついてきますが、ちゃんとしたもののほうが楽に作業できます。(昔買ったのに、どこかに行ってしまったので再購入)  ということで、1900円ほどで完治しました。  手間賃考えると買ったほうが安いかも(笑)

perlで不要なタグを削除

素人すぎですよ 製作途中で放置されているサイトの依頼を受けて、少し前からチェック等していましたが…。 確かに、それなりに表示されているものの、中身がひどくてメンテナンスをどうやるか悩むレベル。 いろんな情報を提供する目的なんだろうけど、元のファイルをコピーして書きなおしている感じで、DBも使わず、サーバサイドで処理もせず、CSSもほぼなし。 ざっと300ファイル(全部html)で、やたらと全角スペースでレイアウトされているstaticなページ。 これを直すのは正直嫌です。 しかも、各ファイルの先頭に <script type="text/javascript"> if ((navigator.userAgent.indexOf('iPhone') > 0 && navigator.userAgent.indexOf('iPad') == -1) || navigator.userAgent.indexOf('iPod') > 0 || navigator.userAgent.indexOf('Android') > 0) { location.href = '/smartphone/'; }</script> そして、smartphoneフォルダには何もない。 だから、PCと同じページを見に来るとNot Found多発地帯という地雷まで完備。 この設計意味が分かりません。変更が発生した場合は、どうするつもりだったんでしょう??? 1つずつ直すのか?それとも、何かジェネレータプログラムが作ってあって、ガシガシと吐き出しているのだろうか? スマートフォンでも見えるように修正 まずは、現状のhtmlを見せれば、not foundは解決するので、scriptを無効にしたい。 とはいっても、300も1つ1つ直すのはコンピュータ使いのやることじゃない。 ここはperlでサクッと処理したい所。 調べてみると、TreeBuilderが良さそう。こんなことがなきゃ、この手のライブラリを使うことも無いだろうなんて思いながら、テストコードを書いてみる。  # perl -MCPA...

findで条件に合わないものを探す

findってあんまり使わないけど… 今頃になって、知ったというか、調べたというか…。 一体何年使っているんだと言われそうなくらい初期の頃から使っているのに、こんな使い方したことなかったなぁと、自分でも驚いた。 忘れないとは思うけど、きっと同じような人がいるだろうと思うので、書いておく。 これまでの使い方 いままで、findを使う時って、 特定の拡張子が含まれている サイズが1MB以上 何日前より古いファイル 30分以内に編集したファイル なんて使い方が多かった。 でもって、中身を検索するならgrepだし…。 もちろん、パイプも使うし、xargsも使ってきた。 今回、はて?と考えた事 今回相談があって、LibreOfficeで編集ができないファイルがある。とな…。 調べてみると、オーナーがnobodyになっている。 ちょいちょい不具合もあるので、根本原因は調査中だけど、編集できないのは困るというので、急ぎで修正する必要がある。 さて、user_aのホームフォルダ以下で、user_aがユーザではないファイルを探す…。 まず、思いついたのは findだよなぁと…。 # find /home/user_a -user user_a これだと、user_aが所有者のファイルがリストアップされる。 あれ? 否定はどうするんだ???と grep -v はよく使うけれど、findの条件否定って、よくよく考えると使ったことがないような気がする。(20年近くUNIX系触っているのに…) まずは、Helpだよね。 $ find --help 使用法: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression] デフォルトのパスはカレントディレクトリです。デフォルトの評価式 (expression) は -print です。評価式は演算子、オプション、テストおよびアクションで構成されます。 演算子 (優先順位は降順です。特に指定がない場合は -and が暗黙的に使用されます):      ...