I'm looking for script in UNIX based systems. I have list of files in file. I'm able to process and delete files in English ( ASCII ) language through unlink function , but unable to delete these in other language.
If no such solution then I can try from windows system ( mount fs on windows ).
Any lead appreciated.
| [reply] |
but unable to delete these in other language
Please see How do I post a question effectively? and show us an SSCCE with which we can reproduce the problem on our end. I'd have to guess that maybe it has something to do with the encoding of the file containing the list of files, see e.g. encguess for a way to find out how it's encoded. The following works for me, my terminal is entirely UTF-8. Note how I specify the file's encoding in the open.
$ touch 'jdid rai dz cheb mourad 2017- No No No Madamti new album شاب مراد كالعادة يصرع'
$ touch '✪ Lotfi Double Kanon✪ 2017 جديد ⁄ أنا'
$ ls jdid* *Lotfi* >list.txt
$ cat list.txt
jdid rai dz cheb mourad 2017- No No No Madamti new album شاب مراد كالعادة يصرع
✪ Lotfi Double Kanon✪ 2017 جديد ⁄ أنا
$ encguess list.txt
list.txt UTF-8
$ perl -wMstrict
open my $fh, '<:encoding(UTF-8)', 'list.txt' or die $!;
chomp( my @files = <$fh> );
close $fh;
my $count = unlink(@files);
print "Deleted $count files\n";
__END__
Deleted 2 files
$ ls
list.txt
$
| [reply] |
every file ends with an extension contains ASCII code.
ex: 37.105.87.242inacheve_(無修正)(個人撮影) 援助交際白書Np.2 - 美鈴16才.avi
if i keep the file path in a text file, is there a way to read the extension of the file and delete instead of reading whole file path and encoding?
| [reply] |