概要
最終更新日
お知らせ
- - 2024/09/06: 画像問題を追加
- - 2024/05/03: シェル芸オンラインジャッジ一周年
- - 2024/04/24: 練習問題を追加
- - 2023/05/03: シェル芸オンラインジャッジ開始
Discussions
GitHub - Discussions
情報
このサイトについて
説明
- このサイトはシェル芸非公式です。
- シェル芸で問題を解いて遊べます。
- 出力結果の正誤判定も自動で行われます。
Shellgei Online Judge Repository
感謝
遊び方
- 問題を選択
- シェル芸を記入
- シェル芸を実行
- 正誤判定の結果を確認
シェル芸について
シェル芸とは
- シェル芸のトップページに情報があります。
- シェル芸とはCLI環境におけるシェルのワンライナーで様々なタスクをこなすことを指します。
シェル芸の例
Example 1: Output random String
head -c 65536 /dev/urandom | tr -dc a-zA-Z0-9 | cut -c -16
Example 2: Delete all .jpg files
find . | grep .jpg$ | xargs -I@ rm @
Extra
Extra 1: Python
python3 -c "import math;print(math.pi)"
Extra 2: C++
cat<<EOF>a.cpp
#include <bits/stdc++.h>
int main() {
printf("C++ Test
");
}
EOF
g++ a.cpp
./a.out
シェル芸の実行について
実行環境
- cat /etc/os-release: Ubuntu 24.04 LTS
- echo $SHELL: /bin/bash
- bash --version: 5.2.21(1)-release
- python3 -V: Python 3.12.3
- g++ --version: 13.2.0
実行時の注意点
- 入力は"cat input.txt"で取得できます。
- 危険なシェル芸(危険シェル芸)は禁止です。
- 余計な空白や改行があると正誤判定に影響します。
- 出力の形式は想定出力に従ってください。
制約
- 実行時間 : 5.0s
- 入出力の文字数 : 1000
練習問題の回答
echo
echo 1
echo "SHELLGEI ONLINE JUDGE"
echo 2
echo -e "SHELLGEI
ONLINE
JUDGE"
echo 3
cat
cat 1
cat 2
cat 3
cat 4
cat input.txt /ShellGeiData/vol.65/input
sed
sed 1
cat input.txt | sed "s/XXX/SHELLGEI/"
sed 2
cat input.txt | sed "s/XXX/SHELLGEI/;s/YYY/ONLINE/"
sed 3
cat input.txt | sed "s/[0-9]//g"
sed 4
cat input.txt | sed "/[0-9]/d"
sed 5
cat input.txt | sed -n "/[0-9]/p"
sed 6
cat input.txt | sed "s/\([a-z]*[0-9]\)/\1.jpg/"
find
find 1
find "/ShellGeiData/sd201701"
find 2
find "/ShellGeiData/sd201701" -type f
find 3
find "/ShellGeiData/sd201701" -type f -name "dangerous*"
grep
grep 1
cat input.txt | grep ".jpg"
grep 2
cat input.txt | grep -e ".jpg" -e ".png"
grep 3
cat input.txt | grep -v ".txt"
grep 4
cat input.txt | grep ".jpg$"
awk
awk 1
echo | awk "{print "SHELLGEI ONLINE JUDGE"}"
awk 2
cat input.txt | awk "{print $2}"
awk 3
cat input.txt | awk "{print $1,$3,$2}"
awk 4
cat input.txt | awk "BEGIN{cnt=0}{cnt+=1}END{print cnt}"
awk 5
echo | awk "{for(i=1;i<=10;i++){print i}}"
awk 6
cat input.txt | awk "{if($0%2==0){print "EVEN"}else{print "ODD"}}"
sort
sort 1
sort 2
sort 3
wc
wc 1
wc 2
wc 3
uniq
uniq 1
cat input.txt | sort | uniq
uniq 2
cat input.txt | sort | uniq -c
更新履歴
2024
- 11/21: リポジトリを一つにまとめる、ローカル環境でテスト可能に
- 11/04: テスト追加、HTTPS更新、問題数表示
- 11/02: 正誤判定の処理をサーバ側へ移動(完了)
- 10/28: 正誤判定の処理をサーバ側へ移動
- 10/22: 問題選択にバグがあったので修正
- 10/20: コマンドを入力するボタンを設置
- 10/16: Ctrl+Enterでシェル芸を実行できる機能追加
- 10/14: ジャッジ修正(正誤判定で必ず正解になる問題の解決)
- 10/01: メンテナンス、HTTPS更新
- 09/07: テキスト修正
- 09/06: 画像生成問題追加
- 09/04: メンテナンス一旦完了、システム全体を見直し
- 09/03: ブラウザ側のアプリを整理
- 09/01: JavaScript側でもボタンの連打防止
- 08/31: 全体を整理, 連続実行の予防
- 08/27: 問題集データを整理
- 08/26: 問題集データのリンクを追加
- 08/25: 日本語と英語を分ける、SSL証明書更新、問題追加
- 08/11: 微修正
- 08/07: SSL証明書更新
- 07/18: SSL証明書更新
- 06/14: 練習問題wc,uniqを追加、SSL証明書更新
- 05/27: 練習問題sortを追加
- 05/25: 練習問題sortを追加
- 05/23: 練習問題awkを追加
- 05/17: 練習問題awkを追加
- 05/15: 誤字脱字を修正、練習問題awkを追加
- 05/13: 練習問題awkを追加、等幅フォント指定
- 05/12: 練習問題grepを追加
- 05/11: 練習問題findを追加
- 05/06: 練習問題sedを追加
- 05/05: デザイン微修正、SSL証明書更新、練習問題catを追加
- 05/04: お知らせのレイアウトを更新、シェル芸IDを追加
- 05/03: 一周年、お知らせを追加
- 05/02: 問題タイトル修正、問41と問42を追加
- 05/01: デザイン修正
- 04/30: 拡大表示不可、その他微修正
- 04/29: システム修正、レイアウト修正
- 04/28: 説明文を微修正
- 04/27: レイアウト調整
- 04/26: フォント指定
- 04/25: 練習問題echo、実行環境、シェル芸の例を追加
- 04/24: 練習問題の項目を追加
- 04/23: レイアウト修正
- 04/22: レイアウト修正
- 04/21: 問39、問40を追加、デザイン修正
- 04/20: システムを修正、英語対応(?)
- 04/17: サーバ側の処理を修正、タイムアウト機能修正
- 04/13: 更新履歴作成、画像のリンク修正
- 03/05: SSL証明書更新
2023
- 11/10: 問題追加
- 10/01: 問題追加
- 09/02: 問題追加
- 08/06: 問題追加
- 07/01: 問題追加
- 06/03: 問題追加
- 05/20: 問題追加
- 05/13: 問題追加、レイアウト修正
- 05/07: 問題追加、HTMLタグに対応
- 05/03: サービス開始
お問い合わせ
X / Twitter
Shellgei Online Judge Discussions
その他
お問い合わせ
その他
注意事項
- Google AnalyticsとGoogle Search Consoleを利用しています。
- このウェブサイトの利用によって生じる損害等について一切責任を負いません。
- 実行されたコマンドなどの情報は全て記録されます。
回答例
おすすめ
問題選択
通常問題
練習問題
画像問題
選択した問題ID
問題
問題文
入力
想定出力
想定画像
実行
注意点
注意点
- 入力の取得 : "cat input.txt"
- 画像の出力 : "media/output.jpg"
- 出力は想定出力&想定画像と一致すること
- 危険なシェル芸(危険シェル芸)は禁止
- 余計な空白や改行は正誤判定に影響する可能性あり
実行制限
- 実行時間 : 5.0s
- 入出力文字数 : 1000
結果
正誤判定
実行結果
出力画像
実行したシェル芸