答え1
マンページを読んでください。
- 男1すべて
- 人1 mkdir
ヒント:
cut -f1,2,3
複数のフィールドを出力できます。cut --output-delimiter=CHAR
デフォルトでは、入力区切り文字として使用される出力区切り文字をオーバーライドできます。mkdir -p a/b/c
ディレクトリ階層の作成ㅏ/雨/氏、すなわち。雨サブディレクトリですㅏそして氏サブディレクトリです雨。
答え2
解決策は次のとおりです。
outputPath='/path/to/output/'
for file in $(find ~/filesToSort/ -type f -name "ff*")
do
firstLine=$(head -n 1 $file)
datePath="${firstLine//-//}"
mkdir -p $outputPath$datePath
mv $file $outputPath$datePath
done
デフォルトでは、このスクリプトの機能は次のとおりです。
- すべてのファイルを一覧表示
- ファイルの最初の行を文字列として取得します。
- パスを生成するには、文字列の「-」を「/」に置き換えます。
- パスの作成
- 新しく作成したパスにファイルを移動します。
最初の行が必要なテンプレートと一致することを確認するためにテストを追加できます。