以下を含むテキストファイルが提供されます。
AF002 AI003 AA001 AD005 AD006 AI002 …
(レコード区切り記号で区切る)
次の内容を含むテキストファイルを生成します。
AF/AF002.jpg
AI/AI003.jpg
AA/AA001.jpg
AD/AD005.jpg
AD/AD006.jpg
AI/AI002.jpg
…
(同じレコード区切り記号で区切られます)
つまり、ファイル名の最初の2文字からパスを推論し、.jpgを追加します。
もう1つの目的は、多数のファイルを処理するため、入力ファイルの最初の3つの項目が[AF] [AZ] [0-1]かどうかをテストすることです。 3番目の文字(/)はテストに失敗するため、誤って出力ファイルにスクリプトを適用するのを防ぎます。
私のiMacでこれを行うためにAWKスクリプトを作成しようとしましたが、最も簡単なことはできません。スクリプトを別のコマンドファイルに入れたいです。締め切りが近づいています。
ベストアンサー1
このように:
#!/bin/bash
str=$(<file)
for i in $str; do
if [[ $i =~ ^[A-F][A-Z][0-1] ]]; then
echo "${i:0:2}/$i.jpg"
fi
done
出力
AF/AF002.jpg
AI/AI003.jpg
AA/AA001.jpg
AD/AD005.jpg
AD/AD006.jpg
AI/AI002.jpg