ubuntu:file:copy_files_to_different_directory
This is an old revision of the document!
Ubuntu - File - Copy files to different directory
#!/bin/bash for filename in *; do if [[ -f "$filename" ]]; then base=${filename%.*} ext=${filename#$base.} mkdir -p "${ext}" mv "$filename" "${ext}" fi done
Copy all files by extension to single directory
find . -name \*.txt -exec cp {} someDirectory \;
or
find . -name "file*" -exec mv {} /tmp \;
NOTE: The open brackets {} are a placeholder for the argument which is to be used from the output of find.
NOTE: Why not just use mv file* /tmp.
- Problem with Moving Large Number of Files
- Linux systems have a predefined limit on the maximum number of arguments that can be used with a single command.
- This limit varies from system to system based on the stack size.
- Thus, if a very high number of files are being specified with the wildcard; e.g. over a hundred thousand files, it throws an error: Argument list too long.
ubuntu/file/copy_files_to_different_directory.1652213547.txt.gz ยท Last modified: 2022/05/10 20:12 by peter