2016-05-18 4 views
-2

Мое требование: у меня будут файлы xml и pdf, такие как пары (например, file1.xml, file1.pdf и file2.xml, file2.pdf) в том же папка.Сценарий оболочки для сравнения имен файлов (без расширения) в каталоге

Мне нужно проверить файлы xml, у которых нет пары PDF и переместить их в другую папку (например, если file3.xml не имеет file3.pdf, мне нужно переместить его в другую папку).

Пожалуйста, ответьте мне на сценарий оболочки, чтобы выполнить эту функцию.

+0

прием на StackOverflow. Пожалуйста, покажите, что вы пытались удовлетворить вашим требованиям. Также может быть полезно, что вы читаете «HowToAsk» (http://stackoverflow.com/help/how-to-ask) – mpromonet

ответ

1

Вы можете удалить расширение, используя расширение параметра:

#! /bin/bash 
for file in *.xml ; do 
    if [[ ! -f ${file%.xml}.pdf ]] ; then 
     mv "$file" folder/ 
    fi 
done 
+0

Спасибо, choroba за быстрый ответ. Но я очень слабый в сценариях оболочки. Мое требование: я получу файлы типа «1234.xml», «1234.pdf» и «1436.xml», «1436.pdf» в папке c:/datafiles. В этом случае, как проверить пару pdf для каждого xml, и если мы не найдем пара PDF, мы должны переместить этот конкретный xml-файл в папку c:/datafiles/corrupt. Пожалуйста, дайте мне точный сценарий. – rajashekar

+1

Либо начинайте учиться программировать, либо нанимать программиста. – choroba

Смежные вопросы