Oneライナー_ファイル拡張子変更編
find,xargs,sed ...
カレントディレクトリ内の *.txt ファイルに *.log を追加する
$ for filename in *.txt; do mv $filename ${filename%}.log; done
指定ディレクトリ内の *.txt ファイルに *.log を追加する
$ find ./xargs_tmp/ -type f | xargs --replace=SomeFile bash -c "mv SomeFile SomeFile.log"
カレントディレクトリ内の *.log ファイルを *.txt に変更する
$ find ./ -type f -name "*.log" | sed 'p;s/.log/.txt/' | xargs -n2 mv
カレントディレクトリ内の ファイルを に、YYYY-MM-DD-を付与する。
$ for file in *; { mv "$file" "$(date +%F)-$file"; }
カレントディレクトリ内の ファイルを すべて拡張子 .log 付与する
$ find ./ -type f | xargs -I% mv % %.log
カレントディレクトリ内の *.txt ファイルを すべて拡張子取り除く
$ find ./ -type f -name "*.txt" | perl -pe 's/\.txt\n/\n/g' | xargs -I% mv %.txt %
カレントディレクトリ内の *.txt ファイルを *.log に変更する
$ find ./ -type f -name "*.txt" | perl -pe 's/\.txt\n/\n/g' | xargs -I% mv %.txt %.log
カレントディレクトリ内の *.txt ファイルを *.log に変更する
$ find * -maxdepth 0 -print0 | perl -pe 's/\.txt\0/\0/g' | xargs -0 -I% mv %.txt %.log
カレントディレクトリ内の *.txt ファイルを *.log に変更する
$ find * -maxdepth 0 -print0 | perl -pe 's/\.log\0/\0/g' | xargs -0 -I% mv %.log %.txt