英語フランス語スペイン語

Ad


OnWorksファビコン

いつ-クラウドでオンライン

Ubuntu Online、Fedora Online、Windows Onlineエミュレーター、またはMACOSオンラインエミュレーターを介してOnWorks無料ホスティングプロバイダーで実行する

これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションのXNUMXつを使用してOnWorks無料ホスティングプロバイダーで実行できる場合のコマンドです。

プログラム:

NAME


いつ-ミニマルな個人カレンダープログラム

SYNOPSIS


いつ

[オプション] [コマンド]の場合

基本的な考え方は、コマンドラインで「when」と入力することです。 初めて実行するとき
プログラムでは、いくつかのセットアップ情報の入力を求められます。 のカレンダーファイルを編集するには
お気に入りの編集者は、「whene」を実行します。 カレンダーファイルの基本的な形式は次のとおりです。

2003年3月XNUMX日、ストックホルムに飛んでノーベル賞を受賞。

カレンダーファイルを作成したら、コマンドから「when」としてプログラムを実行します。
lineは、次のXNUMX週間のカレンダーにあるものを印刷します。

コマンド


i 今後のアイテムをカレンダーに印刷します。 (これはデフォルトのコマンドです。)

c 先月のカレンダー(壁掛けカレンダーのようなグリッド、アイテムは表示されない)を印刷し、
今月、そして来月。

e お気に入りのエディタを呼び出して、カレンダーファイルを編集します。

w,m,y デフォルトではなく、来週、月、または年のアイテムを印刷します
XNUMX週間の期間。

j 変更されたユリウス日を印刷します(XNUMXつの間の時間間隔を見つけるのに役立ちます
日付)。

d 現在の日付だけを印刷します。

OPTIONS


--helpを除く次のすべてのオプションは、設定ファイルで設定できます。
真/偽のオプションは、コマンドラインで--optionまたは--nooptionとして設定できます。
オプションを0または1に設定して、設定ファイルを作成します。

--help簡単なヘルプメッセージを出力します。

- バージョン
ソフトウェアのバージョンを含む簡単なメッセージを出力します
です。

--language = LANG
言語をLANGに設定します。 国際化については、以下のセクションを参照してください。 この
言語は自動的に検出されるため、通常はオプションは必要ありません。

--future = DAYS
レポートが延長されるのは何日後ですか。 デフォルト:14

--past = DAYS
レポートが何日前まで延長されますか。 --futureオプションのように、-past
現在の日付に対するオフセットとして解釈されるため、通常は次のようになります。
これを負の値にします。 デフォルト:-1

--calendar = FILE
カレンダーファイル。 デフォルトでは、設定で指定されたファイルを使用します
ファイル。これは、Whenを初めて実行するときに設定されます。

--editor = COMMAND
エディターを呼び出すために使用されるコマンド。 デフォルト: "emacs -nw"例:when
--editor = "vim"

--wrap = COLUMNS
出力用のテキストの列数(または、折り返したくない場合は0)。
デフォルト:80

-[no] wrap_auto
端子の幅を検出し、出力の幅を設定してみます
によると。 これは、出力がttyである場合にのみ適用され、
--wrap_maxによって設定された最大値。 --wrapで設定された値を上書きします。 デフォルト:いいえ

--wrap_max = COLUMNS
出力用のテキストの最大列数(または、必要がない場合は-1)
最大)。 --wrap_autoと組み合わせて使用​​すると、非常に読みやすくなります。
大きなターミナルウィンドウ。 デフォルト:-1

--rows = COLUMNS
ターミナルウィンドウに収まるテキストの行数。 あなたをリストするとき
カレンダーでは、結果が得られない限り、出力はこの長さに切り捨てられます
XNUMX日以内にリストします。 この動作は上書きされます(
--futureオプションが指定されている場合、最大行数は無限大に設定されます)
明示的に、またはmまたはyコマンドが使用されている場合。 デフォルト:40

-[no] rows_auto
で設定された値を使用するのではなく、端末の高さを検出してみてください
--rowsオプション。 これは、出力がttyの場合にのみ適用されます。 すべての値をオーバーライドします
--rowsによって設定されます。 デフォルト:はい

-[no]ヘッダー
i、c、w、m、およびyコマンドの出力の上部にヘッダーを出力します。 ディフォルト:
はい

-[no]ページング
出力がrowsまたはrows_autoで設定された値よりも長い場合は、ページャーを使用して
出力を表示します。 (PAGERおよびLESS環境変数が尊重されます。
PAGERが設定されておらず、デフォルトは「less」です。)デフォルト:yes

--paging_less_options
ポケットベルが「少ない」場合の追加オプション。 デフォルト:「-rXFE」

-[no] filter_accents_on_output
アクセント付き文字をアクセントなし文字に変更するかどうか。 デフォルト:はい、ただし
$ TERM環境変数は「mlterm」または「xterm」と同じです。

-[no] styled_output
出力が端末の場合、スタイリングにANSI端末コードを使用する必要がありますか?
デフォルト:はい

-[no] styled_output_if_not_tty
ターミナルでなくても、出力のスタイルを設定します。 デフォルト:いいえ

--calendar_today_style = STYLE
--items_today_style = STYLE
これらの最初のものは、カレンダーを実行するときに今日の日付をスタイルする方法を示しています(c)
指図。 XNUMXつ目は、アイテムを実行するときに「今日」という単語のスタイルを設定する方法を示しています(i)
指図。 デフォルト:太字

出力のスタイルは、次のキーワードを使用して指定できます:bold、
下線が引かれ、点滅します。 テキストの色を変更するには、次を使用します:fgblack、fgred、
fggreen、fgyellow、fgblue、fgpurple、fgcyan、fgwhite。 背景を変更するには
色、同様のキーワードを使用しますが、fgの代わりにbgを使用します。 例:いつ
--calendar_today_style = "bold、fgred、bgcyan" c

-プレフィルター
カレンダーファイルを読み取る前に、プログラムにパイプします。 ディフォルト: ""

--now = "YMD"
今日は別の日付のふりをします。

-[no] neighbor_months
「whenc」のデフォルトの動作は、先月のカレンダーを印刷することです。
月、そして来月。 --noneighboring_monthsを選択すると、印刷を回避できます
--pastおよび--futureで設定された範囲に含まれない月数。

-[no] monday_first
日曜日ではなく、月曜日から週を開始します。 デフォルト:いいえ

-[no] orthodox_easter
正教会のカレンダーに従ってイースターを計算します。 デフォルト:いいえ

-[no] ampm
12時間制ではなく、24時間制を使用して時刻を表示します。 影響もあります
入力時間の解析。 デフォルト:はい

--auto_pm = x
x未満の時間で時刻が入力され、AMまたはPMが入力されていない場合
明示的に指定すると、AMではなくPMであると自動的に想定されます。
デフォルト:0

-[no] literal_only
「2008年4月XNUMX日」など、リテラルの日付として指定されたアイテムのみを表示します。 しないでください
「w = thu」のような周期的なアイテムなど、式で定義されたアイテムを表示します。
デフォルト:いいえ

--test_expression
--bare_version
--make_filter_regex
--test_accent_filtering
これらのオプションは、構築とテストのために内部的に使用されます。

DESCRIPTION


日時 は非常にシンプルなパーソナルカレンダープログラムで、Unixオタクを対象としています。
ミニマルな何か。 それはあなたが特定の日にする必要があることを追跡することができます。
そこにはたくさんのカレンダーと「個人情報管理者」プログラムがあるので、
使用する理由は何ですか 日時?

これは非常に短くて単純なプログラムなので、自分で簡単にいじくり回すことができます。
ライブラリに依存しないため、インストールが簡単です。 インストールできるはずです
インストールする権限がなくても、Perlが利用可能なすべてのシステムでそれを実行できます
ライブラリ。
そのファイル形式は、お気に入りのエディタで編集できる単純なテキストファイルです。

しかし 日時 Perlが利用可能なほぼすべてのオペレーティングシステムで実行する必要があります。
このドキュメントでは、Unixのフレーバーを実行していると仮定します。

インストール そして 取得 開始しました


rootとしてログインしているときに、次のコマンドを実行します。

make installを

ラン 日時 このコマンドを初めて使用する場合:

いつ

カレンダーファイルの設定に必要な情報の入力を求められます。

USE


あなたが走ったら 日時 再度、初期セットアップの実行後、次のXNUMX行を出力する必要があります。
現在の日付を示すテキスト。 あなたの
カレンダーファイルが空なので、予定はありません。

これで、カレンダーファイルにアイテムを入れ始めることができます。 各項目は、次のようなテキスト行です。
次のようになります。

2003年3月XNUMX日、ストックホルムに飛んでノーベル賞を受賞。

カレンダーファイルを編集する便利な方法は、次のコマンドを使用することです。

いつe

これにより、お気に入りのエディター(実行時に選択したエディター)が表示されます。 日時 最初の
時間)。

日付は年-月-日の形式である必要がありますが、月を綴るか、与えることができます
数として。 (月の名前では大文字と小文字が区別されないため、表現するかどうかは関係ありません
F、Fe、Feb、FebruaなどのXNUMX月。 それはただユニークな一致でなければなりません。 あなたはできる
末尾に。を付けます。これは無視されます。 チェコ語では、「cer」は略語として使用できます
Cervenの場合は「cec」、Cervenecの場合は「cec」。)余分な空白は、
カンマの後の実際のテキスト。 空白行と#記号で始まる行は無視されます。

あなたが今実行する場合 日時、カレンダーファイル内のすべてのアイテムのリストを印刷します。
特定の時間間隔内にあります。 (インターバルは昨日から始まります。 日時 努める
出力がターミナルウィンドウに収まるように時間間隔の終わりを選択しますが、
常に少なくともXNUMX日、将来はXNUMX週間以内になります。)すべてを表示するには
翌月のアイテムは、「mのとき」を実行し、同様にXNUMX年間、y、またはXNUMX回実行します
週、w。

あなたが「cのとき」をするなら、 日時 先月、今月、次のカレンダーを印刷します
月。

これらのコマンドを組み合わせることができます。 たとえば、「when cw」はカレンダーを印刷し、
次に、次の週のアイテムを表示します。

誕生日や記念日など、年にXNUMX回発生するイベントの場合は、次のいずれかを使用できます。
年の代わりに*、

* 25月XNUMX日、クリスマス

または、アスタリスクが付いた年を使用します。

1920 * 29月XNUMX日、チャーリーパーカーは\ aになり、\ yで生まれました

XNUMX番目の例では、\ aは今年のチャーリーパーカーの年齢を示し、\ y
彼が生まれた年を再現します。つまり、出力は次のようになります。

今日2003年29月83日チャーリーパーカーは1920歳、XNUMX年生まれ

毎週行う必要があることについては、w = xxxという形式の式を使用できます。
xxxは、あなたの言語での曜日の名前の最初の数文字です。 (君
あいまいさを排除するのに十分な文字を提供する必要があります。たとえば、英語では、w = thまたはw = tuであり、
ちょうどw = t。)例:

w =太陽、教会に行く、10:00

実際には、これよりも優れたテストを行うこともできます。 詳細については、セクションを参照してください
以下の「ファンシーテスト」。 一般的な休日を設定する方法は次のとおりです。

m = jan&w = mon&a = 3、マーティンルーサーキングデー
* 14月XNUMX日、バレンタインデー
m = feb&w = mon&a = 3、ワシントンの誕生日を観察
m = may&w = sun&a = 2、母の日
m = may&w = mon&b = 1、メモリアルデー
m = jun&w = sun&a = 3、父の日
* 4月XNUMX日、独立記念日
m = sep&w = mon&a = 1、レイバーデー
m = oct&w = mon&a = 2、コロンブスデー
m = oct&w = mon&a = 2、感謝祭(カナダ)
* 11月XNUMX日、休戦記念日
m = nov&w = thu&a = 4、感謝祭(米国)
e = 47、マルディグラ
e = 46、灰の水曜日
e = 7、PalmSunday
e = 0、イースターサンデー
e = 0-49、ペンテコステ(イースターから49日後)

米国では、特定の休日が週末になると、連邦政府の労働者だけでなく、多くの
民間の従業員は、月曜日または金曜日に休暇を取ります。 完全なリストはで与えられます
http://www.opm.gov/operating_status_schedules/fedhol/2011.asp。 のリマインダーが必要な場合
休日と仕事を辞める日の両方、これがあなたがどのように設定するかの例です
それまで:

* 4月XNUMX日、独立記念日
m = 4月&c = XNUMX、独立記念日(連邦祝日として観察)

国際化


日時 チェコ語、デンマーク語、オランダ語、英語、フランス語、ドイツ語、
ギリシャ語、ハンガリー語、イタリア語、ポーランド語、ルーマニア語、スペイン語、ウクライナ語。 もしも 日時 されていない
あなたの言語に翻訳された、または部分的にしか翻訳されていないテキスト
翻訳されたものは英語で表示されます。 日時 何を自動的に検出する必要があります
($ LANG環境変数を介して)使用する言語、および 日時 翻訳されました
その言語に、それはあなたが得るものです- 日時の出力はあなたの言語になり、
日時 また、カレンダーファイルでその言語を名前に使用することを期待します
月と曜日。

カレンダーファイルはUTF-8(またはUTF-8のサブセットであるASCII)である必要があります。 もしあなたの
カレンダーファイルは、ISO-8859などの他のエンコーディングです。 日時 通常、次のことができるようになります
それを検出し、それを読むことを拒否します。 コマンドラインオプションには、UTF-8を含めることもできます。

一部のターミナルエミュレータ(aterm、...)は、アクセント付き文字をガベージとして表示しますが、他のエミュレータは
(mlterm、xterm ...)はそれらを正しく表示できます。 日時 $ TERM環境をチェックします
変数であり、「mlterm」または「xterm」と等しい場合、アクセント付き文字は次のようになります。
表示されます。 それ以外の場合は、出力から除外されます。 これをオーバーライドできます
次のような行を置く

filter_accents_on_output = 0

or

filter_accents_on_output = 1

自分で 〜/ .when / Preferences ファイル。 できるユーザーからの連絡に興味があります
$ TERM変数を解釈しようとするよりも、このためのより良いメカニズムを提案します。

入力では、アクセントは許可されますが、必須ではありません。たとえば、フランス語の入力ファイルでは、
2005 Fev 17の日付には、アクセント付きのeまたはアクセントのないeを付けて、どちらかを指定できます。
動作します。 入力した月または曜日があなたのいずれにも一致しない場合
言語、そして 日時 代わりに英語として解釈しようとします。

あなたは次のような行を置くことができます

言語= fr

設定ファイルで言語を設定するか、で--languageオプションを指定します
コマンドライン。ただし、$ LANG環境変数が設定されている場合は必要ありません。
正しく

FORMAT OF 好み FILE


各行は次のようなもので構成されています。

変数=値

値内を除くすべての場所で空白は無視されます。 変数名は大文字と小文字が区別されます-
鈍感。 空白行は無視されます。

MORE


ログイン時にシェルを実行させるための便利なコマンドは次のとおりです。

--past = 0 --future = 1の場合

今後XNUMX年間のカレンダーを印刷するには:

--past = 0 --future = 365の場合c

ポッピング UP サプライヤ カレンダー WHEN 皆様のおかげで LOG IN


あなたが毎日それを見るのを忘れるならば、あなたのカレンダーはあなたに何の役にも立たない。 簡単な方法
ログイン時にポップアップするのは、.xsessionまたは.xinitrcファイルを次のようにすることです。
この:

/ usr / bin / when --past = 0 --future = 1&>〜/ when.today
emacs -geometry 70x25-bgビスク 〜/ when.today &
startkde

.xsessionファイルは、マシンにグラフィカルログインマネージャーを設定している場合に使用されます。
そうでない場合は.xinitrc。 この例では、最初の行でカレンダーが
ファイル。 への完全なパス 日時 シェルのパス変数が与えられるので、プログラムが与えられます
これを実行すると、まだ適切に初期化されません。 XNUMX行目はGUIemacsをポップアップします
目を引くように独特の色合いの窓。 最後の行
ウィンドウマネージャー、この例ではKDEを起動します。 使用するウィンドウマネージャーが何であれ、
それを開始するファイルに既存の行を保持していることを確認し、次のことを確認してください
その行はファイルの最後の行です。

並べ替え BY タイム OF


ある日にある様々なアイテムをプリントアウトしたい場合
順序、それを行う最も簡単な方法は、入力ファイルにその順序でそれらを置くことです。 それか
ただし、一部のアイテムがによって決定された日付にある場合、メソッドは機能しません。
明示的に与えられるのではなく、式。 これをしたい最も一般的な理由
ある種のことは、あなたが一日の特定の時間にあなたがしなければならないことを持っているということです、そして
あなたはそれらを時間で分類したいのです。 この状況では、最初に時間を与えることができます
アイテムのテキストの、および 日時 それを認識し、時間でアイテムを並べ替えます。 時間はすることができます
h:mmまたはhh:mm形式。 --ampmが設定されている場合、オプションのサフィックスaまたはpを使用できます。
午前または午後、たとえば午前9時30分は午前9時30分。 AM / PM時刻を使用する場合は、たとえば、次のように設定することもできます。
--auto_pm = 9であるため、9時間未満は自動的にPMと見なされます。 これが
例:

2010年25月7日00:XNUMXアナルコサンディカリストコミューンでの夕食
w =太陽、10:00教会

25年2010月XNUMX日は日曜日なので、その日に両方のアイテムが表示されます。 もしも
--auto_pmが8以上に設定されている場合、7:00は自動的に7:00として解釈されます
午後、そして夕食の日付は朝の教会の儀式の下に表示されます。

ファンシー TESTS


上で説明したwに加えて、テストできる他の変数がたくさんあります。

w-曜日
m-月
d-月の日
y-年
j-変更されたユリウス日番号
a-月の最初の1日間は7、次の2日間は7など。
b-その月の最後の1日間は7、前の2日間は7など。
c-月曜日または金曜日は、最も近い週末の日の日に等しくなります。 それ以外の場合は-1
e-今年の(西部)イースターまでの日数
z-年の日(元日は1)

月は、数字(m = 2)または言語の名前(m = feb)として指定できます。 君
論理演算子&(および)および|を使用することもできます(また)。 次の例はあなたに思い出させます
毎月XNUMX日とXNUMX日に従業員に支払います。

d = 1 | d = 15、従業員に支払います。

この例では、毎月最終土曜日にバンドでリハーサルすることを思い出させます。

w = sat&b = 1、バンドでリハーサル。

次のXNUMX行

* 25月XNUMX日、クリスマス
m = dec&d = 25、クリスマス

どちらもまったく同じことをしますが、最初のバージョンは理解しやすく、
プログラムはより速く実行されます。 (テストを行うとき、 日時 で毎日実行する必要があります
要求した日付の範囲、およびそれらの各日のテストを評価します。 私のマシンでは、
10個の簡単なテストを含むファイルを使用してXNUMX年間カレンダーを印刷すると、
数秒かかります。)括弧も使用できます。

国籍や宗教にもよりますが、おそらくたくさんの休日があります。
決まった日に嘘をつかないでください。 キリスト教では、これらの多く(「移動祝日」)は
イースターサンデーを基準にして計算されるため、e変数が役立ちます。

not演算子があります!:

w = fri&!(m = dec&d = 25)、ポーカーゲーム

モジュロ演算子%と減算演算子-があります。 これらを使用して、
j変数、それはほとんど不可能です 日時次のことを実行するためのの小さなパーサー
feat:

!(j%14-1)、隔週の水曜日に何かをします

このばかげた小さな魔法の背後にある論理は次のようになります。 まず、次のことを決定します。
コマンド `when j --now =" 2005 jan 26 "'を使用して、最初の水曜日に
これを行うには、1を法として14に等しいユリウス日があります。次に、この式を次のように記述します。
ユリウス日が1を法として14に等しい水曜日の場合、括弧内の数量
はゼロになり、その論理否定を取ると真の値が得られます。

演算子の結合性と優先順位(最高から最低へ)は次のようになります。

左 %
左 -
左<> <=> =
左=!=
正しい!
左 &
左|

INCLUDING ファイル


カレンダーファイルが大きくなりすぎる場合は、それを小さなチャンクに分割することをお勧めします-
おそらく誕生日用、チベットの休日用などです。簡単な方法で達成できます。
これは、プログラムm4をインストールし、行を置くことです

プレフィルター= m4 -P

設定ファイルに入力し、次のようにカレンダーファイルに行を配置します。

m4_include(/home/yourname/.when/birthdays)

ENVIRONMENT


$ LANG ユーザーの言語を自動的に検出します

$ TERM ターミナルエミュレータがアクセント付き文字を表示できるかどうかを確認する

onworks.netサービスを使用してオンラインで使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad