Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2199
  • Last Modified:

replace tabs with spaces

What do I do to get list of files that have tabs? How to do substitute the tabs with spaces?
Is there a way to do that in a perl script that traverse the directory structure and replace tabs with spaces?


my project has so many files it would be time consuming to do one by one!


Thanks
in advance!
0
EmadGirgis
Asked:
EmadGirgis
3 Solutions
 
marchentCommented:
Traverse the directory, open file and read each line. For each line perform tab replacement as below example
## Replace tabs with a single space
my $str = "1\t2\t3\t4 5 6";
print $str ."\n";
$str =~ s/\t/ /g;
print $str ."\n";

Open in new window

0
 
RSLECommented:
double post?
http://www.experts-exchange.com/Programming/Languages/Scripting/Perl/Q__23820640.html

#!/usr/bin/perl
 
$dir = "path";
 
use File::Find;
find(sub{push(@files, $File::Find::name) unless -d}, $dir);
 
foreach $file (@files) {
        open(FILE, $file);
        foreach $line (<FILE>) { push(@file, $line); }
        close(FILE);
 
        $data = join("", @file);
        @file = ();
 
        $data =~ s/\t/ /g;
        open(FILE, "> $file");
        print FILE $data;
        close(FILE);
}

Open in new window

0
 
Adam314Commented:
One of the posts should be deleted...
#Create a backup with extension .bak
find . -type f -exec perl -i.bak -pe 's/\t/ /g' \{\} \;
 
#Don't create a backup
find . -type f -exec perl -i -pe 's/\t/ /g' \{\} \;

Open in new window

0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now