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

お知らせ / NEWS

情報 / INFORMATION

このサイトについて / ABOUT THIS WEBSITE

説明 / About

感謝 / Thanks

遊び方 / How to play

  1. 問題を選択 / Select problem
  2. シェル芸を記述 / Write shell-gei
  3. シェル芸を実行 / Run shell-gei
  4. 正誤判定を確認 / Check correct/incorrect
シェル芸について / ABOUT SHELL-GEI

シェル芸とは / About shell-gei

シェル芸の例 / Examples of shell-gei

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 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\n");
}
EOF
g++ a.cpp
./a.out
実行について / ABOUT RUN OF SHELL-GEI

実行環境 / Environment

実行時の注意点 / Attention

制約 / Limitations

練習問題の回答 / EXERCISE ANSWER
echo

echo 1

echo "SHELLGEI ONLINE JUDGE"

echo 2

echo -e "SHELLGEI\nONLINE\nJUDGE"

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
更新履歴 / UPDATE HISTORY
2024
  • 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: サービス開始
お問い合わせ / CONTACT

X / Twitter

その他 / Others

お問い合わせ / Contact

その他 / OTHERS

注意事項 / Attention

回答例 / Example answer

おすすめ / Recommendation

問題選択 / Select Problem

通常問題 / General

練習問題 / Exercise

選択した問題ID / Selected Problem ID

NULL

問題 / Problem

問題文 / Problem Statement

NULL

入力 / Input

NULL

想定出力 / Expected Output

NULL

実行 / Run

注意点 / Attention

結果 / Result

正誤判定 / Judgment

NULL

実行結果 / Output Result

NULL

実行したシェル芸 / Executed Shell-gei

NULL

Update : 2024.06.14
Copyright Since 2023 (C) YusukeKato All rights reserved.