首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何裁剪文件中的每个单词

如何裁剪文件中的每个单词
EN

Stack Overflow用户
提问于 2015-08-18 04:52:31
回答 5查看 130关注 0票数 1

是否有一个命令可以将制表符分隔为文件,以只给出每个单词的前4个字母?

例如:转这个文件

代码语言:javascript
复制
Jackal Poorest Kingship Twinkle
Viscount George Lizard
Stone Goose Elephant Yvonne Chicken
Gecko Amoeba
Richard

到这个文件

代码语言:javascript
复制
Jack Poor King Twin
Visc Geor Liza
Ston Goos Elep Yvon Chic
Geck Amoe
Rich

谢谢

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-08-18 05:09:23

使用substr来修剪每个单词。命名以下trim.pl

代码语言:javascript
复制
#!/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";
}

将其运行为:

代码语言:javascript
复制
cat names.txt | trim.pl

其中产出:

代码语言:javascript
复制
Jack Poor King Twin
Visc Geor Liza
Ston Goos Elep Yvon Chic
Geck Amoe
Rich
票数 1
EN

Stack Overflow用户

发布于 2015-08-18 05:10:03

尝试此模式匹配足以完成它。

代码语言:javascript
复制
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
票数 1
EN

Stack Overflow用户

发布于 2015-08-18 05:10:13

代码语言:javascript
复制
perl -lane '$,=" "; print map substr($_,0,4),@F' input
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32063777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档