あなたが日常生活のために書いた最も有用なスクリプトは何ですか?[閉まっている]


132

ここの人々が彼または彼女の日常生活(別名仕事に関係ない)を助けるのにどんな小さなスクリプト/プログラムを書いたかと思っているだけです。

何が起こっても、画期的かどうか。今のところ、距離と経過時間を指定してランニングペースを計算する小さなpythonスクリプトです。


私はいくつかの本当にクールな仕事に関連するスクリプトを見ましたが、「日常生活」に関連するスクリプトほど多くはありません。次に、仕事で何かがあなたの人生を台無しにしていて、きちんとした台本でそれを修正したなら、私は誰を判断しますか?
カイルウォルシュ

10
スタックオーバーフローを価値あるものにする宝石の質問の1つ。それを閉じることを示唆するガイドラインがあってはならず、それを閉じるように投票したmodはそのはずではありません。
Bill K

これは私にとっては1つです:github.com/codeforester/base。このフレームワークにより、SRE / DevOps担当者としての私の生産性が飛躍的に向上し、同時にチームの一体性とコラボレーションが向上しました。
codeforester

回答:


116

私のo鍵は、私のラップトップに落ちました。そのため0、互いに200 MS 以内のo2つの0キーストロークをとして、互いに700 MS以内の2つのキーストロークをとして置き換えるプログラムを書きました。0、残りを無視。なので、キーボードを交換する前にラップトップを使うことができました。

ワオ; これがとても人気があるとは知らなかった:p

方法について-マイクロソフトはフックと呼ばれる素敵な小さなAPI機能を公開しています

そのフックを使用します。私が必要なことを行う「フィルター」を書くことができました(ヒント:コールバックウィンドウで1を返すと、キーストロークが処理されません)。

これについて私が実際に知っている理由は、キーロガーを書いていたからではなく、Synergyにプログラムスマイラーを書いたからです。、少し前です。

はい。英数字のキーをランダムな英数字のキーと交換する別のプログラムを書いたのは確かです。本当に面白かったです:D


1
公開されたキーレストを入力することを考えたかもしれませんが、それは確かにそれを回避する興味深い方法です:)
warren

2
I私は...私は同じprblemを抱えていることを... F思わなかった理由:-( wnder
asterite

1
これは私にこのXKCDコミックを思い出させます:xkcd.com/196
JesperE

59
ハ!Y00uはn00tできるようになりますt00タイプ00n標準キーボード再び00ut再トレーニングy00ur指!G0000d運!
Doug L.

107
大きな問題は、「o」の文字を使わずに、どうやってそのプログラムを書いたのですか?
e.James、2009年

115

コードはもうありませんが、おそらく、私が書いた最も有用なスクリプトは、信じられないかもしれませんが、VBAでした。私は彼をチェリーボムと呼んだほど短いヒューズを持っていた迷惑な同僚がいました。顧客が電話をかけて立ち上がってキュービクルの壁を越えて私に怒鳴り始め、私の生産性と士気を損なうと、彼はしばしば腹を立てます。

私はいつもMicrosoft Excelを開いていました。彼がこれを行うと、私はAltキーを押しながらExcelにタブ移動し、ツールバーに桜の爆弾の画像が表示された新しいアイコンが表示されました。私は慎重にそれをクリックします...そして何も起こりません。

しかし、その直後に電話がかかってきて、「ええ、ええ、それは悪いことです。私は調べた方がいいです」のようなことを言います。それから私は起き上がり、チェリーボムに謝罪して立ち去ります。

何が起こったのかというと、NetWareを使用していて、プリミティブメッセージングシステムが組み込まれていました。ボタンをクリックすると、小さなVBAスクリプトが友人にNetWareメッセージを送信し、チェリーボムが再びそこにいたことを伝え、私に電話してください。彼はそれを理解しなかった:)


94
厄介な社会的状況から抜け出すためのプログラムを書いているとき、あなたはプログラマーです。
Cadoo 09

7
驚くばかり!これは最高のソーシャルエンジニアリングです!
Beska

1
Cherry BombがStackOverflowを使用しないことを期待しましょう:)
Pedro Luz

94

bashスクリプトが呼び出されたので、私がNディレクトリを/a/very/deeply/nested/path/somewhere「上」に移動したい場合は、次のように入力できます。up N

#!/bin/bash
LIMIT=$1
P=$PWD
for ((i=1; i <= LIMIT; i++))
do
    P=$P/..
done
cd $P

例えば:

/a/very/deeply/nested/path/somewhere> up 4
/a/very> 

NBによってgmatt:

上記のすばらしい作業を終えて、bashrcに以下を配置することにより、それをback関数に拡張できます。

function up( )
{
LIMIT=$1
P=$PWD
for ((i=1; i <= LIMIT; i++))
do
    P=$P/..
done
cd $P
export MPWD=$P
}

function back( )
{
LIMIT=$1
P=$MPWD
for ((i=1; i <= LIMIT; i++))
do
    P=${P%/..}
done
cd $P
export MPWD=$P
}

4
1絶対にF華麗INGの」!これをたくさん使います!
wzzrd 2009年

12
読みやすいコードを読みにくいコードに置き換えるのはなぜですか?ソースコードの行数が少なくなると、コンピューターはより速く動作しますか?
Beska

3
gnud:クリーンでクリアなコードをゴミで置き換えますか?結構です。
foxdonut 2009年

2
鮮やかさ!これを拡張してbackメソッドを組み込んだので、使い切ったときはいつでも簡単に前後に移動できます。これを使用するには、これをbashrcに入れます(たわごとの書式設定について申し訳ありません):function up(){LIMIT = $ 1 P = $ PWD for((i = 1; i <= LIMIT; i ++))do P = $ P / .. done cd $ P export MPWD = $ P} function back(){LIMIT = $ 1 P = $ MPWD for((i = 1; i <= LIMIT; i ++))do P = $ {P%/ ..} done cd $ P export MPWD = $ P}
ldog

2
私は狂っていますか?これはどのように機能しますか?スクリプトでcdを実行すると、そこにcdが実行されますが、スクリプトが存在する場合は、同じ/元のディレクトリに戻ります。私のbashはあなたのものとは違うのですか?
johnnyB 2013

67

スーパーリモートリセットボタン。世界の反対側にいるユーザーが早朝にクラッシュする超特殊シミュレーションハードウェアの
ラック(VMEでいっぱいの部屋がGPUよりも少ない時代に遡ります)。ラボに入り、セキュリティを通過するのに1時間かかりました。

しかし、特別なコントローラーに接続したり、ハードウェアを変更したりすることはできませんでした。解決策は、EPSONドットマトリックスプリンターを備えた古いDECワークステーションで、プラスチック定規を紙送りノブにテープで留め、プリンターをリセットボタンの近くに配置しました。
通常のユーザーとしてWSにログインし(rootは許可されず、すべての外部ポートがロックされています)、24の空白行を含むドキュメントを印刷します。これにより、紙送りノブが回転し、ルーラーが超特殊ハードウェアのリセットを押します。


素晴らしい物語!あなたを信じるかどうかわからない;)
グレッグ・ホイットフィールド

最終的には、シリアルポートのDTRラインに接続された電源スイッチリレーに置き換えられましたが、ルートアクセスが必要でした。DEC WSはUltrixを実行していたので、私はそれを言ったはずです。
Martin Beckett、

うわー、私たちが安全に得るために行く長さ!
Chris Ballance、

1
これを
思い出し

5
当時CDトレイがあったなら、もっと簡単な解決策だったでしょう
マーティン・ベケット

63

Windows XPでは、C:\でこのコマンドを毎日実行するようにATジョブを設定しました

dir /s /b * > dirlist.txt

これは、Cドライブ上のすべてのファイルの完全パスをリストします。その後、ファイルを見つける必要があるときはいつでも、を使用できますfindstr。これは、パス全体での正規表現の照合を可能にするため、Windows Explorer Searchを使用するよりも優れています。例えば:

findstr ".jpg" dirlist.txt
findstr /i /r "windows.*system32.*png$" dirlist.txt

これはセットアップするのに非常に高速なソリューションであり、Windowsの新規インストールとインターネット接続がない場合に最適です。

特定のファイルタイプ内でパターンを検索する必要がある場合は、まず確認する必要のあるすべてのファイルをリストしてから、それらのファイル内を検索します。たとえば、画像を反転するJavaまたはPythonプログラムを見つけるには、次のようにします。

findstr "\.java \.py" dirlist.txt > narrowlist.txt
findstr /i /r /f:narrowlist.txt "flip.*image"

8
なんて素晴らしいアイデアだ。
Epaga

10
これは、UNIXのLocateプログラムが行うこととまったく同じです
Mark Ba​​ker

4
@Markこれは、Windowsで作業しなければならない場合でも、UNIXから非常に多くの便利なものを学ぶことができることを示しています
Liam

1
私は「ドキュメント」フォルダ用にこれらのスクリプトの1つを作成しましたが、これを整理することは決してできそうにありません:-)
sep332 2008年

1
そして私はGoogleデスクトップ検索を使用していました:D
にもかかわらず、

38

デジタルカメラを接続すると自動的に実行されるPythonスクリプトがあります。

カメラのカードからすべての画像をコピーしてバックアップし、Flickrにアップロードします。


Upload -to-Flickrのピースは、uploader.pyから取得さます(クレジットは取得できません)からのものです。

これは、カメラをアンロードするためのPythonコードです。SRCDIRを再帰し、各画像に日時を付けてから、DESTDIRにコピーします。

#!/usr/bin/python

import os
import string
import time
import shutil

###################################################
__SRCDIR__ = "/mnt/camera"
__DESTDIR__ = "/home/pictures/recent"
###################################################
def cbwalk(arg, dirname, names):
    sdatetime = time.strftime("%y%m%d%H%M")
    for name in names:
        if string.lower(name[-3:]) in ("jpg", "mov"):
            srcfile = "%s/%s" % (dirname, name)
            destfile = "%s/%s_%s" % (__DESTDIR__, sdatetime, name)
                    print destfile
            shutil.copyfile( srcfile, destfile)
###################################################
if __name__ == "__main__":
    os.path.walk(__SRCDIR__, cbwalk, None)

コードを共有し、私は賛成票を共有します:)
Mien

40
これは、前の晩に撮った特別な写真を忘れる日まで効果的です...
Ed Guiness

完全なものは、実際には2段階のプロセスです。最初のステップでは、カメラから物をダンプして名前を変更します。2番目のステップには、Flickrにアップロードするかどうかを尋ねるプロンプトがあります。これは、アップロードする内容が心配になるよりも、アップロードすると帯域幅が失われるためです。
マークビエク2008

5
「プラグインの実行」ビットをどのようにトリガーしますか?
ijw 2009

UNIXの場合@ijw、こちらを参照してください。unix.stackexchange.com/questions/28548/... -窓:superuser.com/questions/219401/...
クリス・

32

数年前、私はいくつかのwin32 APIを使用してwinformsアプリを作成し、自分を1時間コンピューターから完全にロックアウトして、強制的に移動と運動をさせました。怠惰だったから?いいえ...私は個人的なフィットネスの目標を持っていたので。時々、あなたは始めるために少しキックが必要なだけです:)


16

私が読んだすべてのWebコミックに行き、新しいコミックをダウンロードするPythonスクリプトを作成しました。私は1日に1回実行するだけで、各サイトに個別にアクセスする必要はありません。/Comics/フォルダーにアクセスするだけです。;)


うーん。これらが広告付きのコミックである場合、広告が表示されるリスクを冒してあなたが「支払い」をしていないのではないかと心配します:-)
Matthew Scouten 2010年

2
@マシュー-私はあなたの要点を理解していますが、広告を見ないことが道徳的/倫理的な問題である理由がわかりません。その場合、No-Scriptとポップアップブロッカーの作成者は、説明することがたくさんあります。;)
オニオンナイト

1
ポップアップは広告を乱暴に表示する方法であるため、ポップアップブロッカーには何の問題もありません。それはまさしく道徳的な問題ではなく、より公平な問題です。私はほとんどのサイトでadblockerを使用していますが、頻繁にアクセスしてサポートしたい特定のサイトではオフにします。pythonスクリプトを使用してコミックを取得する(そしてサイトをまったく見ない)のは、私には線上に感じられますが、線がどこにあるのか正確に伝えることはできませんでした。
Matthew Scouten、2010年

14

私の.cmdバックアップスクリプト。それは毎晩私のサーバーで実行され、曜日に応じてバックアップファイルに名前を付けます。1週間分のバックアップにより、私(および私の家族)は何度も救われました。

::バックアップ引数:
:: / V検証しますか?(はい・いいえ)
:: / R所有者へのアクセスを制限しますか?(はい・いいえ)
:: / RSリムーバブルストレージ?(はい・いいえ)
:: / HCハードウェア圧縮(オン/オフ)
:: / Mバックアップの種類(通常/コピー/差分/増分/毎日)
:: / Lログファイルタイプ(f / s / n)
:: / D "説明"
:: / J "ジョブ名"
:: / F "ファイル名"

セットローカル

::ネットワークドライブがマウントされていることを確認します
コールC:\ bat \ configs \ MapShares-home.cmd
反響する

今日を設定=%DATE:〜0,3%
%today%== Monの場合昨日= 0Sunday
%today%== Tue set yesterday = 1Mondayの場合
%today%==水が昨日を設定した場合= 2火曜日
%today%== Thuが昨日を設定した場合= 3Wednesday
%today%== Friが昨日= 4Thursdayに設定されている場合
%today%== Satが昨日= 5Fridayの場合
%today%== Sunが昨日を設定した場合= 6Saturday

configsDir =%〜dp0を設定します
storePath = C:\ mybackupsを設定します

::(例:月曜日のCファイル)
set title =%yesterday%バックアップセット


echo%DATE%%TIME%%title%> "%storePath%\%yesterday%_backup.log"

CALL BackupConfigs.bat

::新しいBKFファイルを作成
C:\ WINDOWS \ system32 \ ntbackup.exe backupを呼び出します^
    "@%configsDir%\ daily.bks" ^
    / V:はい/ R:いいえ/ RS:いいえ/ HC:オフ/ M通常/ L:s ^
    / D "%title%" ^
    / J "%title%.job" ^
    / F "%storePath%\%yesterday%.bkf" ^
    >>「%storePath%\%yesterday%_backup.log」

echo%DATE%%TIME%Completed >> "%storePath%\%yesterday%_backup.log"

「%storePath%\%yesterday%.bkf」「V:\ Backups \ NEPTUNE」をコピーします

コールC:\ bat \ clean-temps.bat

defrag -v C:> "%storePath%\%yesterday%_defrag.log"

::バックアップディレクトリを表示
/ D "C:\ bat \ Backups \" checkbkf.batを開始します

ENDLOCAL

::一時停止


2
そこにいくつかの素晴らしい.cmdファイルトリックがあります。'^'を使用してリダイレクトとパイプをエスケープできることは知っていましたが、行継続と同じように使用できることを知りませんでした。クール:)
パトリックカフ

世界で必要な.batスクリプトは少なくなっただけです。:-)
JesperE 2008年

2
そして当然の結果として、世界はより少ないウィンドウを必要とします。それまでは、これは最も一般的な分母です。何十億もの人々がそのまま使用できるため、このスクリプトを共有します。
Chris Noe、

14

「backup.sh」は、ディレクトリの内容をタール化​​し、それを私のGmailアカウントに送信します。


今ではそれはクールです。10台のうち、smtpが設定されているコンピュータはありません。悲しいことに。
mxcl 2008年

コードをお願いします。
Kostas

14

私はチームで毎日使用されるスクリプトを作成しました。以前はIntelで働いていたときに、アクセスデータベースと通信してレジスタ情報のダンプを取得するアプリがありました(チップセットの検証に取り組みました)。(SQLクエリから)この情報を取得し、CSVファイル、HTMLファイル、およびExcelファイルにダンプします。プロセス全体はほぼ2時間かかりました。冗談抜き。なぜそんなに時間がかかったのか分かりません。昼食の1時間前に起動し、昼食に行ってから戻ってきます。

これを行うにはもっと良い方法が必要だと思いました。レジストリデータベースを管理しているチームと話し、SQLコードを入手しました。次に、データを取得してCSV、HTML、およびExcel形式で出力するPerlスクリプトを作成しました。ランタイム?約1〜2秒。速度が大幅に向上しました。

また、2006年にイラクでの展開中にいくつかのスクリプトを書きました(9年間国家警備隊に勤務しました-12月に出ました)。私たちは、ADAで作成され、元はDOSで実行されていた、ULLS-G(Unit Level Logistics System-Ground)と呼ばれるこの古いアプリを使用しました。彼らは、Windows XPのコマンドシェルで実行する場所までハッキングしました。このシステムにはマウスインターフェイスがありませんでした。すべてがキーボード経由で、バッチ機能はありませんでした。それでは、すべての車両オペレーターのライセンスを印刷したいとしますか?ええと...私たちの部隊には150人の兵士がいたので、長い時間がかかりました。誰もが新しい車両で資格を取得し、それをすべてのオペレーターの資格に追加したいとしますか?あなたはそれを一つずつしなければなりませんでした。

SAGEデータベース用のODBCドライバー(ULLS-Gが使用したもの)を見つけることができたので、SAGEデータベースと通信できるPerlスクリプトを作成しました。つまり、1時間以上かかっていたことが、今では数秒しかかかりませんでした。レポート用にスクリプトとドライバーも使用しました。私たちは毎朝大隊までのすべての情報を報告しなければなりませんでした。他のユニットは、毎朝手で情報を書き込みます。私は、同じドライバーを使用してSAGEデータベースと通信し、Excelスプレッドシートをそのように更新したExcelマクロを作成しました。これは、私が書いた中で最も複雑で唯一の Excelマクロです。彼らが私に陸軍表彰メダルを与えたので、それは報われました。ええ、私はperlスクリプトを書いたことで軍にメダルをもらいました:)何人がそれを言えるでしょうか?;)


13

私は民間パイロットです。私は、aviationweather.govから地元の空港の気象情報を取得するスクリプトをいくつか作成しました。「今日は飛ぶのにいい日ですか?」という質問にすばやく答えるのに役立ちました。


aviationweather.govがレイアウトを変更してパーサーを壊した場合、スクリプトがうまく機能しないことを乗客に期待します。
MatthieuP

1
台本を共有していただけませんか?
JJD、2011年

12

ゲームサイトKotaku.comから明らかに愚かな[*]コメント削除する Greasemonkeyスクリプト。

[*]一般的な綴りの間違い、大文字の表記、「LOL」の過度の使用、および同様のヒューリスティックによって識別されます。


6
涼しい。私は正規表現を抽出したい気がし、それらの1つ以上に一致する式のみで構成されるランダムなステートメントを生成します。
gnud


11

スレッド化されたHTMLスクレイパーで、サイトからシリーズ/映画のすべての利用可能な字幕をダウンロードするのは面倒です(ダウンロード後、広告を表示するには、検索後に4回ほどクリックする必要があります)。今、私はただ検索基準を入れてダウンロードを押します。


2
彼はそれを共有し、サイトはそれを見つけるでしょう:)。ときどき共有しない方がいい...
カミロディアスレプカ

11

ローカルのCraigslistを、選択したカテゴリごとにSQL DBにこすり落とすPerlスクリプトです。SQLDBを使用してクエリを実行できます。

これのV2は、タイマーでDBを更新し、クエリのいずれかと一致した場合に警告を発し、基本的にCLのバックグラウンドエージェントを提供します。


8

ドラッグ&ドロップによるファイル名の一括変更。

何年も前に、RegExを受け入れ、それに応じてファイル名を置き換える小さなVBScriptを作成しました。その上に一連のファイルまたはフォルダーをドロップするだけです。それは何年にもわたって非常に役立つことがわかりました。

gist.github.com/15824(コメントはドイツ語です)


コード以外の説明に賛成票を投じるのはばかげているようです。
Chris Noe、

コードはウェブサイトには少なすぎます。多分「小さい」は控えめな表現でした。それは170 LOCです。
Tomalak、2008年

興味があれば、スクリプトをどこかにアップロードして、ここにリンクを投稿できます。
Tomalak、2008年

8

5秒ごとにgoogle.comのDNSを検索し、成功した場合は1回、失敗した場合は2回のビープ音を鳴らす、Quick and Dirty Pythonスクリプト。

これは、非常に不安定なホームネットワークで生活しなければならなかったときに書きました。それは私が最初に部屋の向こう側の机の下に頭を向けていたときでも、ネットワークケーブルでいっぱいの両手と口の中に懐中電灯を持ち、ネットワークの状態を即座に知ることができました。


5秒?本当に迷惑になっているに違いない。
Ponkadoodle 2010年

ええ、はい、それは私が30分ほど後にコウモリを運転しました。そのアイデアは、できる限りリアルタイムのフィードバックに近づけることでした。通常は10分程度で直せます。
Matthew Scouten、2010年

8

これは、数か月前の私のブログへの投稿から、私が最近の記憶でせき止めた中で最高の小さなハックの1つにクールだと思っていたという考えから抜け出しました。私はそれをここで完全に引用します:

==================

私はバッシュで多くの時間を費やしています。初心者にとって、bashはほとんどのUNIXマシンで見つかるシステムであり、ありがたいことに、いくつかのウィンドウとそこにあるすべてのMacです。一見すると、それはコマンドラインインターフェースにすぎないため、忘れたいと思う時代錯誤のようなものを見るほとんどのユーザーのレーダーからは外れています。

私はbashでほぼすべてを行います。コマンドラインからメールを読みます。そのため、マークアップしたメールを避けています。ディレクトリを移動し、ファイルを編集し、毎日のソースコードのチェックアウトと配信に従事し、ファイルを検索し、ファイル内を検索し、マシンを再起動し、コマンドラインからWebページをときどき参照します。bashは私のデジタル存在の中心です。

問題は、一度に6つのbashウィンドウを開く傾向があることです。今日の仕事では、1人がWebサーバーを実行し、もう1人がデータベースをいじって、3番目、4番目、5番目がさまざまなファイルを編集していました。どうして?ファイル名でオブジェクトの場所を知りたい場合に、このようなアーカイブを検索できると便利です。

これを行うと、コントロールバーに "bash"という名前のウィンドウがたくさん表示されます。あなたがそれらの1つだけを持っている場合はこれで問題ありませんが、6つ以上の場合は苦痛です...そして他に20件のことが起こっています。1つのキーボード/マウスペアの同時コマンドの下に3つのモニターがありますが、それでもまだ必要性を感じています。これらの各ウィンドウには、いくつかのbashターミナルが開いています。

だから私はこれをまとめました。まず、これらの行を.bash_profileに配置します。

  export PROMPT_COMMAND='export TRIM=`~/bin/trim.pl`'
  export PS1="\[\e]0;\$TRIM\a\]\$TRIM> "
  trap 'CMD=`history|~/bin/hist.pl`;echo -en "\e]0;$TRIM> $CMD\007"' DEBUG

私はこのすべてがどのように機能するのか、そしてそれがどのように設定されているのかについて正確に何十ものパラグラフを書きましたが、あなたは本当に興味を持っていません。私を信じて。...その3行目に「CMD = ; echo ...」を実行した理由については、本の全章があります。多くの人々(他のドメインがホストされているbluehostを含む)はまだ使用しており、トラップの処理方法に大きなバグがある古いバージョンのbashを使用しているため、このままです。現在のbashバージョンを使用していて、調査をしたい場合は、CMDを削除して$ BASH_COMMANDに置き換えることができます。

とにかく、最初に使用するスクリプトはこちらです。マシン名とディレクトリを含む適切なプロンプトを作成し、適切な長さに切り詰めます。

                       ============trim.pl===========
  #!/usr/bin/perl

  #It seems that my cygwin box doesn't have HOSTNAME available in the 
  #environment - at least not to scripts - so I'm getting it elsewhere.
  open (IN, "/usr/bin/hostname|");
  $hostname = <IN>;
  close (IN);
  $hostname =~ /^([A-Za-z0-9-]*)/;
  $host_short = $1;

  $preamble = "..." if (length($ENV{"PWD"})>37);

  $ENV{"PWD"} =~ /(.{1,37}$)/;
  $path_short = $1;

  print "$host_short: $preamble$path_short";

                        ==============================

このブログ投稿の上部には、「@ ENVを介してHOSTNAME環境変数を使用しなかったのはなぜですか」などの愚かな質問をする前に、今すぐ読むべき警告があります。シンプル:試してみたすべてのシステムで機能しないため。

さて、本当にクールな部分です。.bash_profileオプションの3行目を覚えていますか?

  trap 'CMD=`history|~/bin/hist.pl`;echo -en "\e]0;$TRIM> $CMD\007"' DEBUG

コマンドプロンプトとウィンドウタイトルの両方に出力され、以前と同じコンテナーでtrim.plスクリプトの出力をダンプしていますが、今度は入力したばかりのコマンドが追加されます。これが、すべてを.bashrcで実行したくない理由です。実行したスクリプト(私のマシンでは、manはその1つです)は、すべての行でこの処理をトリガーします。人の出力は、ここで行っていることによって深刻に文字化けします。ターミナルをうまく操作しているわけではありません。

入力したばかりのコマンドを取得するために、bashの履歴を取得して少しダイスアップします。

                        ===========hist.pl============
#!/usr/bin/perl

while (<STDIN>)
{
        $line = $_
}

chomp $line;
$line =~ /^.{27}(.*)/;
print $1;
                        ==============================

だから今、私はバジリオンウィンドウを実行していて、彼らは次のようなことを言っています:

  castro: /home/ronb blog
  Ron-D630: /C/ronb/rails/depot script/server
  Ron-D630: /C/ronb/rails/depot mysql -u ron -p
  Ron-D630: /C/ronb/rails/depot find . > /C/ronb/system.map
  Ron-D630: /C/ronb/rails/depot vi app/views/cart.html.erb
  Ron-D630: /C/perforce/depot/ p4 protect
  Ron-D630: /C/perforce/depot/ p4 sync -f
  Ron-D630: /C/perforce/depot/

画面の下部にある幸せな小さなバーから、一目でどちらがどちらであるかがわかります。また、PS1を設定したので、コマンドの実行が完了するとすぐに、コマンド名は、trim.plの出力だけに置き換えられます。

更新(当日):これ(.bash_profileエントリ)は、.bashrcで試したときにあらゆる種類の地獄を築きました。.bashrcは、bashを言語として呼び出すたびに非インタラクティブスクリプトによって実行されます。私が人間を使おうとしたときにこれを押しました。あらゆる種類のゴミ(私の.bashrcの完全なテキストとエスケープ文字)が、manページの上部に表示されました。すべてをまとめたら、コマンドラインですばやく「man man」を呼び出してこのgemをテストすることをお勧めします。

カスタムガベージを.bashrcから取り出して、それが属する場所に置くときがきたと思います...

ちなみに、私はこのプロセスのある時点で「マントラップ」と入力していることに気づきました。


8

私の以前の勤務地では、オフィスアワーはばかげていました。それはソフトウェア会社でした、そして私の上司は吸い込まれました。午後5時30分頃(家に帰る時間になったとき)に仕事を渡してくれ、午後11時(理想的な生産時間を過ぎる)まで仕事を終わらせてくれました。または、彼はまだ進行中のコードに迷惑な問題を見つけるでしょう。

そこで、午後7時から午後8時までのランダムな時間にコンピューターの電源をオフするバッチファイルとスクリプトを作成しました。私が何時間も滞在し、シャットダウンプロセスを中止する必要がある場合に備えて、1分のタイマーがありました。

しかし、午後5時前にデスクを離れたので、チェックアウト時間の前後にがらくたにしたい場合、彼は私を預けることができませんでした。もし彼が私の机に来て私のコンピューターを見ると、彼は私がまだパントリーエリアの近くか近くのミニマートにいてチップや何かをつかんでいると思います。でも、もしその辺りがオフだったら、彼は私の携帯電話に電話してオフィスに戻るように言ったでしょう。

また、私が怠惰に感じて午前10時または午前11時頃に散歩したい場合に備えて、マシンのBIOSを午前8時または午前9時頃にオンにするようにスケジュールしました。私が机に向かって歩いているのを見つけたら、彼は「朝どこにいましたか」と尋ねます。そして私は「私はマーケティングチームとのミーティングにいた」と言います。または「私は朝食を食べに出ていた」。

愚かな犬


7

私はテクノロジーサマーキャンプで働いていましたが、週末にグループの子供たちごとにこれらの記事を作成しなければなりませんでした。子供たちはそれを受け取り、記念品として持ち帰ります。通常、これらは一連の一般的な文と1〜2個の個別の文で構成されていました。私はこれらの記事の1つを缶詰の文章のバンクから作成するpythonスクリプトを作成し、ユーザーが中央にいくつかのカスタマイズされた文章を追加できるようにしました。これは私と私が秘密にした他のカウンセラーのために膨大な時間を節約しました。自動化されていても、パーソナライズされた部分により多くの時間を費やすことができたので、私たちの記事は多くの「正直な」ものよりもよく見えました。


6
#! /bin/bash
# check to see if site is up
#   if it is, don't worry
#   if it's down, restart apache after get a process listing
#
# v.1 Warren M Myers - initial stab
#     31 Aug 06
#

ERRCOD='7'
WHEN=`date +%d%b%y`
REPT="~/psaux.$WHEN.txt"
STARS='********************'

curl -I http://www.shodor.org > /var/tmp/curlret.txt

if [ "$?" = "$ERRCOD" ]; then
    # return was unable to connect to host: save ps -aux; mail report
    ps -aux > $REPT
    echo $STARS
    echo 'curl return results'
    echo
    cat curlret.txt
    echo
    echo $STARS
    echo 'ps -aux results'
    cat $REPT
    echo
    echo $STARS
    echo 'restarting apache'
    /etc/init.d/apache2 restart
    echo 'apache restarted'
    echo
    echo "ps -aux results saved in $REPT"
fi

rm -f /var/tmp/curlret.txt

6

"そのボタンをたくさん押す"コントロールボックスをオンラインゲームに追加するGreasemonkeyスクリプト。


6

私のスキルに一致する広告がないか、いくつかの人気のあるWebサイトを監視し、私に電子メールを送信する小さなスクリプト。


6

これをオートロード関数として使用します。「mycd」と入力するだけで、頻繁にcdするディレクトリのリストが表示されます。私がたまたま知っているなら、「mycd 2」のように言うことができます。リストにディレクトリを追加するには、「mycd / tmp / foo / somedirectory」と入力します。

function mycd {

MYCD=/tmp/mycd.txt
touch ${MYCD}

typeset -i x
typeset -i ITEM_NO
typeset -i i
x=0

if [[ -n "${1}" ]]; then
   if [[ -d "${1}" ]]; then
      print "${1}" >> ${MYCD}
      sort -u ${MYCD} > ${MYCD}.tmp
      mv ${MYCD}.tmp ${MYCD}
      FOLDER=${1}
   else
      i=${1}
      FOLDER=$(sed -n "${i}p" ${MYCD})
   fi
fi

if [[ -z "${1}" ]]; then
   print ""
   cat ${MYCD} | while read f; do
      x=$(expr ${x} + 1)
      print "${x}. ${f}"
   done
   print "\nSelect #"
   read ITEM_NO
   FOLDER=$(sed -n "${ITEM_NO}p" ${MYCD})
fi

if [[ -d "${FOLDER}" ]]; then
   cd ${FOLDER}
fi

}

「mycd」を実行すると、「-bash:print:コマンドが見つかりません」というメッセージが表示されます。「mycd / folder /」を使用すると、/ tmp / mycd.txtに何も追加されません。一部の設定が間違っていますか?
レオ・レオポルド・ヘルツ준 영

ああ、そうです。「print」ステートメントを「echo」に置き換えることをお勧めします。;-)
wzzrd 2009年

@wzzrd屈辱的です;)とてもクールな機能、@ Ethan Post。共有していただきありがとうございます!
レオ・レオポルド・ヘルツ준 영

5

写真を撮った日付に基づいてディレクトリに写真を保存したい。したがって、メモリカードをスキャンして写真を探し、写真の日付に基づいて必要なハードディスク上にフォルダを作成し、それらをコピーするプログラムを作成しました。


ここにスクリプトを追加しますか?この機能が大好きです。同じことをします。
ファラン

それは私が恐れているスクリプトではなく、c#アプリです。
Valerion、2010

写真に保存されているexif情報を使用しますか?台本を共有していただけませんか?
JJD 2011年

5

スクリプトを書いてスタートボタンをクリックし、0.5秒後にもう一度クリックして、30秒ごとに繰り返します。

仕事中もオンラインにマークされたままになり、実際の仕事を自分のラップトップですぐに行うことができます。仕事用ソフトウェアにとらわれない。

上司には言わないでください:)


ハハハハ、いいもの。誠実さと不正直の両方に+1を!:)
カイルウォルシュ

4

「net start」および「net stop」コマンドへのさまざまなショートカットにより、サービスMMCに移動しなくてもサービスを開始および停止できます。


4

rsyncを使用してローテーションバックアップを実行するシェルスクリプト。また、他のバックアップ前のアクティビティ(おいしいブックマークのダウンロードなど)をサポートする任意の子プログラムの実行もサポートしています。

http://gist.github.com/6806


4

「Y」時間、「X」ミリ秒ごとに左クリック(またはダブルクリック)する小さなアプリケーション。その飲酒鳥が原子力発電所で働く必要はもうありません!;)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.