2025-01-24
likes: 0
Unsupported Block: table_of_contents
zip -r {変換後名} {変換対象名}
-r : リカーシブに圧縮(ディレクトリを含むなら必須)
-e : パスワード付きで圧縮
-x : 特定のファイルやパターンを除外(eXclude). "*.tmp" "DS_Store" "*.cache"など。
-9 : 最高圧縮率で実行(デフォルトは-6)ls -R
find . -type f -name "*.JPG" | while read file; do
mv "$file" "${file%.JPG}.jpg"
doneカレントディレクトリ以下のすべての.JPGとつくファイルを.jpgに書き換え。
findで上がった対象をパイプでwhile…に渡す。
find . → カレントディレクトリ以下で、以下の条件で検索
-type f → ファイルのみ対象
-name → ファイル名/ディレクトリ名で検索
${file%.JPG}.jpg → fileでファイル名(read file; doによる)、file%.JPGでfileの末尾に一致する文字列を削除。
Unsupported Block: heading_2
find . -type f \( -name "*.JPG" -o -name "*.jpeg" \) | while read file; do
mv "$file" "${file%.*}.jpg"
done
# readを以下のようにすると、ファイル名にスペースや特殊文字があっても安全に処理できる。
while IFS¥ read -r filefindには ”*.{JPG,jpeg}” のような書き方はできない。-oによってOR指定する。
exit 0 (exit) … 正常終了する。以降を実行しない
exit 0以外 … 異常終了する。以降を実行しない
これはどんな言語でもそう。
ただし、GitHub actionsのexit 0は、そのname内の処理のみを正常終了させる。exit 1は全て終了してくれるがFailedとして表示される。
actionsでは、正常終了かつ以降をスキップしたい場合、以下のように if: をそれぞれのname内に置くのが現在の打てる手。
if: env.continue_next !=”true” run: ~~~
# バッシュスクリプト(shell script)はif-else-fiの最後のfiで閉じるのを忘れずに。
- name: Check date # 日付をチェック
id: date_check
run: |
current_date=$(date +'%m-%d')
start_date="04-01"
end_date="10-10"
if [[ "$current_date" < "$start_date" || "$current_date" > "$end_date" ]]; then
echo "Current date is out of the allowed range. Exiting."
echo "continue_next_steps=false" >> $GITHUB_ENV
else
echo "Current date is within the allowed range."
echo "continue_next_steps=true" >> $GITHUB_ENV
fi # ココ!!!
# ちなみに、このブロックの if: は、actions独自の文法なので、シェルスクリプトのようなfiは不要。
- name: Skip message if date is out of range
if: env.continue_next_steps != 'true'
run: echo "Skipped because current date is out of allowed range"# 変数代入はスペース入れて"a = 100"としてはいけない。"a=100"とすること。
content="package main\n\n\nfunc main() {\n\n}"
for i in {6..18}; do
echo $content > "chap$i/main.go"
done
# カレントディレクトリに chap5,chap6...ディレクトリを作り、その中にさらにend-of-chapディレクトリ、a.pyファイルを作る。
for i in {5..18}; do
mkdir -p "chap$i/end-of-chap"
touch "chap$i/a.py"
done
# -pオプション:親ディレクトリ(ここではchap$i)が存在しない場合は一緒に作成するbreadcrumb予定地
profileCard予定地
SideBarPage
共有ボタン予定地
他ボタン予定地