私はキーワードを使用する簡単なスクリプトを書いています。次に、ディレクトリでそのキーワードを含むファイルを見つけて、別のディレクトリ(ディレクトリ名=キーワード)にコピーします。
このキーワードはコマンドライン引数として渡されます。これは私のスクリプトです。
#!/bin/bash
# start
mkdir $1
cp `grep -Ril \"$1\"` $1
cp
私のコマンドにエラーがあるようです。
missing destination file operand
このエラーをどのように修正できますか?
ありがとうございます!
ベストアンサー1
Mikeの答えに対する解決策はほとんど正確ですが、grepが何かを見つけたときにのみディレクトリを作成するように少し変更することで、空のディレクトリを防ぎます。
#!/bin/bash
filenames=$(grep -Ril "$1")
[ $? -eq 0 ] && mkdir "$1"
for file in $filenames; do
cp "$file" "$1"
done