Например, я использую find
команду find /usr/share/icons -iname 'foxitreader*'
, чтобы найти файлы:
/usr/share/icons/hicolor/32x32/apps/FoxitReader.png
/usr/share/icons/hicolor/48x48/apps/FoxitReader.png
/usr/share/icons/hicolor/64x64/apps/FoxitReader.png
/usr/share/icons/hicolor/128x128/apps/FoxitReader.png
/usr/share/icons/hicolor/16x16/apps/FoxitReader.png
, и я хочу использовать xargs
, скопировать их в .local/share/icons/
, а в icons
каталог имеет ту же структуру подкаталогов, которая:
└── hicolor
├── 16x16
│ └── apps
│ ├── 1B94_WScript.0.png
│ ├── 1CD8_rundll32.0.png
│ ├── 1E64_notepad.0.png
│ ├── 2402_msiexec.0.png
│
├── 24x24
│ └── apps
│ ├── 6C56_Timwp.0.png
│ └── FoxitReader.png
├── 256x256
│ └── apps
│ ├── 1E64_notepad.0.png
│ ├── 2402_msiexec.0.png
│ ├── 2EF4_wordpad.0.png
├── 32x32
│ └── apps
│ ├── 1B94_WScript.0.png
│ ├── 1CD8_rundll32.0.png
│ ├── 1E64_notepad.0.png
└── 48x48
└── apps
├── 1CD8_rundll32.0.png
├── 1E64_notepad.0.png
├── 2402_msiexec.0.png
, и я просто хочу скопировать файлы, которые я нахожу, а не всю структуру каталога, так как я могу скопировать эти файлы в соответствующий каталог, как это :
/usr/share/icons/hicolor/32x32/apps/FoxitReader.png
до .local/share/icons/32x32/apps/FoxitReader.png
и т. Д.
И каталог icons
уже имеет эти подкаталоги, и он не пустой, поэтому вы не можете просто использовать cp
для их объединения, и я использую find
для поиска файлов, и хочу использовать xargs
для копирования их один раз, а не больше раз вручную.
Можно сделать, это в ударе путем включения расширилось globbing.
shopt -s extglob
и затем используют --parents
опции cp
.
Так, перейдите в /usr/share/icons/hicolor/
и сделайте:
cp -R --parent {128x128,32x32}/apps ~/.local/share/icons/
Изменяют имена каталогов в {}
для удовлетворения потребностям.
, Например:
ron@ron:~$ tree dir1/ # Destination before copying
dir1/
├── 128x128
│ └── apps
├── 16x16
│ └── apps
├── 32x32
│ └── apps
└── 48x48
└── apps
karthik@4736Z:~/dir2$ ls hicolor/ # Source structure
128x128 22x22 32 42x42 512x512 72x72 icons scalable
16x16 24x24 32x32 48 64 8x8 icon-theme.cache symbolic
192x192 256x256 36x36 48x48 64x64 96x96 index.theme
ron@ron:~/dir2$ tree hicolor/ | head -n 6
hicolor/
├── 128x128
│ ├── actions
│ ├── animations
│ ├── apps
│ │ ├── amazon-store.png
ron@ron:~/dir2/hicolor$ cd hicolor/
ron@ron:~/dir2/hicolor$ cp -R --parent {128x128,32x32}/apps ../../dir1/
ron@ron:~/dir2/hicolor$ tree ../../dir1/ # Destination after copying
../../dir1/
├── 128x128
│ └── apps
│ ├── amazon-store.png
│ ├── chromium-browser.png
│ ├── credentials-preferences.png
│ ├── deluge.png
│ ├── display-im6.q16.png
│ ├── libreoffice-base.png
│ ├── libreoffice-calc.png
│ ├── libreoffice-draw.png
│ ├── libreoffice-impress.png
│ ├── libreoffice-main.png
│ ├── libreoffice-math.png
│ ├── libreoffice-startcenter.png
│ ├── libreoffice-writer.png
│ ├── ubuntuone-music.png
│ ├── ubuntusoftware.svg
│ ├── vivaldi.png
│ ├── vlc.png
│ └── vlc-xmas.png
├── 16x16
│ └── apps
├── 32x32
│ └── apps
│ ├── aim.png
│ ├── baobab.png
│ ├── bluetooth.png