に基づいてこの問題、HTMLファイルの日付形式が変更されました。すべてのHTMLファイルの日付は次のとおりです。
20110730dateishere
dateishere
日付の場所を簡単に見つけるためにわざわざファイルに追加しました。
さて、HTMLファイルディレクトリ内でその日付に基づいて一度に1つずつファイルを移動したいと思います。
どのファイルが最初に移動されるのか気にせずに一度に1つのファイルを移動する場合は、簡単に使用できます。
for file in $(ls | tail -1);
do
mv $file /other/location
done
しかし、日付に基づいて最も古いファイルを最初に移動するにはどうすればよいですかXXXXXXXXdateishere
? (つまり、埋め込まれたHTMLファイルは、日付に基づいて20100110dateishere
最初に前のファイルに移動し、20100111dateishere
次のファイルに移動します。)
(注:20100111は2010年1月11日を意味します)
ベストアンサー1
これにより、トリックを実行できます。
for i in $(grep dateishere *.html | sed 's/\(.*\):.* \([0-9]*dateishere\).*/\1 \2/' | sort -k 2 | awk '{print $1}')
do
mv $i blarg/
done