Вам нужен другой *
перед командой
Столбцы:
mins, hrs, day of month, month of year, day of week, command
Вы могли бы сделать это с помощью perl:
#!/usr/bin/perl
# number of parent directories to drop
$drop = 2;
open( $input, '<', $ARGV[0] );
# drop header lines
$line = <$input>;
$line = <$input>;
# third line is first data, being root has no name, was requested that it wasn't used, which is good, because it makes life simplier, assuming the first dir is always 1
$line = <$input>;
#@databits = split(/\s+/, $line);
$hash{'1'} = '';
while ( $line = <$input> ) {
@databits = split(/\s+/, $line);
$hash["$databits[0]"] = $databits[1];
}
close( $input );
open( $input, '<', $ARGV[0] );
# now we print!
# headers
$line = <$input>;
print "$line";
$line = <$input>;
print "$line";
# drop first data line
$line = <$input>;
while ( $line = <$input> ) {
@databits = split(/\s+/, $line);
@replace = split(/\//, $databits[2]);
$count = 0; # start at the start
foreach (@replace) {
$replace[$count] = $hash[$_];
$count++;
}
for (my $i=0; $i < $drop; $i++) {
shift(@replace);
}
$replaced = join('/', @replace);
if ( $replaced ne '' ) {
print "$databits[0] $databits[1] /$replaced/ $databits[3]\n";
}
}
Подайте свой вывод в виде текстового файла, в приведенном ниже примере под названием «ввод». Вы можете сделать красивые столбцы с помощью команды column.
$./replace.pl input | column -t
modelId name folderPath uuid
7 Test /Test/ kbY7RDHjRLS
8 xxx /xxx/ bT5WAkPWQ1
9 Test /xxx/Test/ 9PYeLZDRTne
10 ab /ab/ 7Cse21+1SIag
11 abc /Test/abc/ pNMvzDdyS%
16 efg /Test/abc/efg/ a6R97tAxSBW