У меня есть имена всех файлов в output.txt
, но у меня нет folderpath
в output.txt
файле. Например, если filename = test.txt
и его folderpath=/usr/local/bin
, чем в output.txt
файле, у меня есть только filename as test.txt
output.txt
файлов имеет много записей для filename
, я пытаюсь сделать следующее:
Переместите все имеющиеся файлы output.txt
в какую-то другую папку, например, "/ usr / local / test / data /", поэтому мой вопрос заключается в том, как мне это сделать, используя Perl Script
?
Удалите все файлы, которые присутствуют в файле output.txt
, из фактического местоположения, используя их folderpath
, поэтому, например, сценарий должен сначала переместить test.txt
в другое место, скажем, /usr/local/test/data/test.txt
и удалите test.txt из его фактического местоположения, используя информацию о пути к папке, т. е. скрипт должен удалить /usr/local/bin/test.txt
Любые предложения будут высоко оценены.
Обновление:
Приведенные ниже сценарии считывают файл output.txt и получают размер каждого файла и общий размер всех файлов, присутствующих в файле output.txt
.
my $folderpath = 'the_path';
open my $IN, '<', 'path/to/infile';
my $total;
while (<$IN>) {
chomp;
my $size = -s "$folderpath/$_";
print "$_ => $size\n";
$total += $size;
}
print "Total => $total\n";
Предоставлено: RickF Ответ
Output.txt
2304_2328_Test Data November 19 2003 - Test Tele.xls
2344_2341_Data Dummy Test 12-17.doc
2343_2342_Dummy Test Test 12-17.doc
В моем файле output.txt также есть файлы, имена которых содержат специальные символы, например:
63551_106640_63551 IBM ý
; Данные о поставке и выполнении программного обеспечения (Div-61) IPS 08-20-2010 v3.xlsm
Если вы видите выше, файл имеет закодированное значение ý
, но в моем имени файла есть действительный символ специального символа для этого, и поэтому он будет копировать или перемещать, также принимать мой файл this и перемещать файлы.