Я думаю, что вы можете достичь своей цели с помощью следующей команды:
find Pictures -type f -print0 | xargs -0 mv -t Picturesnew
, где Pictures
— исходный каталог, а Picturesnew
— целевой каталог.
И mv
(, иcp
)имеют формат mv -t directory source...
, который хорошо подходит для использования с xargs
.
Но этот метод оставит файлы с повторяющимися именами на их исходных позициях (возможно, это неплохо, так как вы можете просмотреть их и скопировать в место назначения позже ), так какmv -t
не будет работать в интерактивном режиме при перенаправлении ввода используется . Это связано с тем, что xargs
уже считывает значения из перенаправленного стандартного ввода (, который является выходом find
), а mv
, который запускается xargs
, также пытается прочитать ответы из того же стандартного ввода. Таким образом, вы не можете использовать mv с каналами в интерактивном режиме.
Возможно, задание можно решить с помощью какого-нибудь умного ввода -переназначения дескриптора,но давайте попробуем более простой способ:избавиться от перенаправления вывода . Также мы не можем использовать -print0
в подстановке команд, потому что это не позволяет использовать 0 -байт. Нам нужно перебрать имена файлов с for
, , используя новую строку в качестве входного разделителя полей -:
TMP=$IFS;
IFS=$'\n';
for i in $(find Pictures -type f); do
mv -it../Picturesnew $i;
done;
IFS=$TMP
(вы можете скопировать его как один -вкладыш ).
В этом случае mv будет не только запрашивать у вас каждый дубликат, но и ждать ответа.
я обычно использую т.е.
var1=`cat file`
var2= someother;
$host
$port
echo $var1 $var2 |telnet $host $port
Так что в вашем случае я бы дал
telnet {
while read -r line; do
var=`awk -v var1="^$line" -F "|" '$1~var1{print $1 }' sort-address-name-ip.txt | awk -v var2="$line$" '$0~var2' `
var3=`awk -v var1="^$line" -F "|" '$0~var1{print $2 }' sort-address-name-ip.txt`
if [ $var = $line ]
then
echo $var $var3 | telnet <$var-ip> <$var-port>
fi
done < policy-unique_single_line-src-dst-ip.txt
}
это попытка
(извините, пока не могу комментировать)