シェル・ワンライナーの遊び場

概要

最終更新日

お知らせ

Discussions

GitHub - Discussions

情報

このサイトについて

説明

Shellgei Online Judge Repository

感謝

遊び方

  1. 問題を選択
  2. シェル芸を記入
  3. シェル芸を実行
  4. 正誤判定の結果を確認
シェル芸について

シェル芸とは

シェル芸の例

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
シェル芸の実行について

実行環境

実行時の注意点

制約

練習問題の回答
echo

echo 1

echo "SHELLGEI ONLINE JUDGE"

echo 2

echo -e "SHELLGEI
ONLINE
JUDGE"

echo 3

echo $SHELL
cat

cat 1

cat input.txt

cat 2

cat -n input.txt

cat 3

cat -e input.txt

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

cat input.txt | sort

sort 2

cat input.txt | sort -r

sort 3

cat input.txt | sort -u
wc

wc 1

cat input.txt | wc -l

wc 2

cat input.txt | wc -w

wc 3

cat input.txt | wc -m
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

その他

お問い合わせ

その他

注意事項

回答例

おすすめ

問題選択

通常問題

練習問題

画像問題

選択した問題ID

NULL

問題

問題文

NULL

入力

NULL

想定出力

NULL

想定画像

実行

注意点

注意点

実行制限

結果

正誤判定

NULL

実行結果

NULL

出力画像

実行したシェル芸

NULL

GitHub - SHELLGEI ONLINE JUDGE Discussions
© 2023 YusukeKato All rights reserved.