是否有一个命令可以将制表符分隔为文件,以只给出每个单词的前4个字母?
例如:转这个文件
Jackal Poorest Kingship Twinkle
Viscount George Lizard
Stone Goose Elephant Yvonne Chicken
Gecko Amoeba
Richard到这个文件
Jack Poor King Twin
Visc Geor Liza
Ston Goos Elep Yvon Chic
Geck Amoe
Rich谢谢
发布于 2015-08-18 05:09:23
使用substr来修剪每个单词。命名以下trim.pl
#!/usr/bin/env perl
use strict;
use warnings;
while (<>) {
chomp;
my @words = split /\s+/;
my @trim;
for my $word (@words) {
push @trim, substr($word,0,4);
}
print join ' ', @trim;
print "\n";
}将其运行为:
cat names.txt | trim.pl其中产出:
Jack Poor King Twin
Visc Geor Liza
Ston Goos Elep Yvon Chic
Geck Amoe
Rich发布于 2015-08-18 05:10:03
尝试此模式匹配足以完成它。
while(<DATA>)
{
(@ar) = $_ =~m/(.{4}).+?\s/g;
print "@ar\n";
}
__DATA__
Jackal Poorest Kingship Twinkle
Viscount George Lizard
Stone Goose Elephant Yvonne Chicken
Gecko Amoeba
Richard
output
Jack Poor King Twin
Visc Geor Liza
Ston Goos Elep Yvon Chic
Geck Amoe
Rich发布于 2015-08-18 05:10:13
perl -lane '$,=" "; print map substr($_,0,4),@F' inputhttps://stackoverflow.com/questions/32063777
复制相似问题