LPIC-1 / GNU・Unixコマンド ・ コマンド問題
$
- find . -name "*.tmp" -exec rm {} \;✓ 正解
- find . -name "*.tmp" -rm
- find . -name "*.tmp" | rm
- find . -name "*.tmp" -delete {} \;
💡 -exec はマッチした各ファイルに対しコマンドを実行し、{} がファイル名に置換され \; で区切ります。-delete でも削除できますが {} は不要です。
○ find . -name "*.tmp" -exec rm {} \;:正解。-exec rm {} \; は見つかった各ファイル({}に置換)に rm を実行して削除します。
✕ find . -name "*.tmp" -rm:find に -rm というアクションは存在せず、削除はできません。
✕ find . -name "*.tmp" | rm:rm は標準入力からファイル名を受け取らないため、パイプでは削除できません(xargs等が必要)。
✕ find . -name "*.tmp" -delete {} \;:-delete は単独で機能し {} \; は不要で、この記法は構文として不正です。