次のディレクトリには3種類のファイルがあります。。 txt、.csvそして拡張子のないファイル。
はい
test
nest
prod
test.csv
prod.txt
nest.csv
拡張子なしでファイルを圧縮して別のディレクトリに移動したいと思います。この問題を解決するのに役立ちます
答え1
使用アスファルト便利:
tar -cvf noext.zip --exclude=*.* * && mv noext.zip path/to/dest_dir
-c
- 新しいアーカイブの作成--exclude=*.*
- 以下に基づいてファイルを除外模様mv noext.zip path/to/dest_dir
- 生成されたアーカイブを次に移動します。目的地目次
答え2
find
次のように、ドット文字を含む名前と一致するグローバルパターンを持つフィールドに逆条件を使用できます。-name
find . -type f ! -name "*.*" -exec zip filename.zip "{}" +
[ -f filename.zip ] && mv filename.zip /to_whatever_path_needed/
すべてのファイルをインポートする式いいえ名前に文字を含め、一度にzipに渡してアーカイブを.
作成します。.zip
ファイルを検索するのfind
と同じように、深度オプションを追加する必要があるかもしれません。-mindepth 1 -maxdepth 1
ただ現在のディレクトリにあります。
答え3
kshから:
zip /another/directory/files_without_extension.zip !(*.*)
Bashでshopt -s extglob
上記のコマンドを実行します。 zshでsetopt ksh_glob
上記のコマンドを実行するか、
setopt extended_glob
zip /another/directory/files_without_extension.zip ^*.*