- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Linux初心者です。ワイルドカードの使い方について教えてください。)
Linux初心者のためのワイルドカードの使い方と特定ファイルの除外方法
このQ&Aのポイント
- ディレクトリ内のファイルをmvコマンドを使って移動する方法について質問します。特定の1つまたは2つのファイルを除外する方法を教えてください。
- 例えば、a1、a2、a3、a4、b1、b2、b3、b4という8個のファイルがある場合、a1とb2以外の6個を移動させたいです。ワイルドカードを使って簡単に選択する方法があれば教えてください。
- CentOS5.5とtcshシェルを使用しています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
tcshですか。bashなら cd 送り元dir ls -1 |grep -v a1|grep -v b2|while read line do mv ${line} 送り先dir done ですかね。但し、*a1*と*b2*も対象外になってしまいますけど。
その他の回答 (2)
- foobar
- ベストアンサー率44% (1423/3185)
回答No.3
#1さんの方法で、grep の-wオプションを使うことで a1,b1だけに限定することができそうに思います。 これと、xargsを-iオプション付きで使うと、シンプルにできるかもしれません。 例えば、 ls | grep -v -w a1 | grep -v -w b2 | xargs -i mv {} dist-dir/ みたいな感じでできるかもしれません。
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.2
tcsh にはなさそう. bash かつ extglob が設定されていれば方法はある.