小编The*_*air的帖子

使用大写perl更改一行的第一个字符

这是一个简单的问题,我想,但我试图将.txt文件中的第一个小写字母改为大写,使用以下

$_ =~ s/^[a-z]/\U/;
Run Code Online (Sandbox Code Playgroud)

当我执行它时,会发生的是,不是将小写字母改为大写字母,而是将行尾开始的小写字母替换为该行上的最高位.例如,nAkld987aBALPaapofikU88代替被替换的行NAkld987变为Akld987...

regex perl

22
推荐指数
3
解决办法
2万
查看次数

在终端中生成随机文本文件

我试图从终端生成我的macbook上的随机文本文件.我在想的是:

tr -dc A-Za-z0-9 < /dev/urandom | head -c100 > RandomFile.txt
Run Code Online (Sandbox Code Playgroud)

但我得到了

tr:非法字节序列

我究竟做错了什么?

unix random macos bash terminal

6
推荐指数
1
解决办法
3016
查看次数

如何在Tcl中将小写改为大写?

我正在尝试使用字符类将所有小写字母重新编译为大写:

 regsub -all { [:lower:] } $f { [:upper:] } f
Run Code Online (Sandbox Code Playgroud)

但它不做替代.

regex tcl

4
推荐指数
1
解决办法
6206
查看次数

如何将字符串数转换为实数?

我想知道是否有办法转换数字

100u     10km     300nm      and so on
Run Code Online (Sandbox Code Playgroud)

这样它们被解释为:

100*10^-6      10*10^3      300*10^-6
Run Code Online (Sandbox Code Playgroud)

我需要比较这个数字(100u 10km等).例如,如果我想比较100u到10u那就没关系,我只是做了以下,这是不正确的,但做的工作:

$distance =~ s/(.*)u/$1/;
if ($distance >= $desired_distance) {
       printf $distance;
}
Run Code Online (Sandbox Code Playgroud)

其中(.*)u是数字,例如100u.所以我只删除"你",然后将其与数字进行比较.

但是,如果我有这个数字呢?

1.45m 
Run Code Online (Sandbox Code Playgroud)

我想比较一下

1400u
Run Code Online (Sandbox Code Playgroud)

以上事情无济于事.

regex perl

2
推荐指数
3
解决办法
135
查看次数

匹配perl中一行的句子

我有以下问题.你如何匹配一个被逗号(,)包围的句子,但句子的大小和单词数量可能不同.例如:

嗨,你好吗,再见

谢谢,我很好,再见

所以我想要匹配"你好吗"和"我很好"我尝过类似的东西

 $_ =~ /,([\w\s\w\s\w,])/;
Run Code Online (Sandbox Code Playgroud)

但这似乎非常错误,并且"可能"匹配由空格分隔的3个单词.

regex perl

1
推荐指数
1
解决办法
2188
查看次数

Hash of hashes perl

问题是我正在尝试创建哈希散列,然后向每个哈希添加更多元素.我正在阅读一个文件,我正在匹配各种项目,我想将它们存储在不同的子网站中 - ('类别','项目','描述','得分').稍后我需要将它们存储在CSV文件中,但目前我只是想打印它们,但是我遇到了很多错误.这是我的代码:

use strict;
use warnings;

my %MacroA = ('Category', 'Item', 'Description', 'Score');

open (my $file, '<', 'Layout.txt') or die $!;

while (my $line = <$file>) {

    if ($line  =~ /\b(layout)\b,/) {
        $MacroA{Category}++;
    }
    elsif ($line =~ /,([\w\s]+?),/) {
        $MacroA{Item}++;
    }

    elsif ($line =~ /,\b(\w+?.\d+?)\b,/g) {
        $MacroA{Desciption}++;
    }
    elsif ($line =~ /,\b(pass|fail)\b/) {
        $MacroA{Score}++;
    }
}

close $file;

foreach my $categories (keys %{ $MacroA{$Category}}) {
    print $categories, "\n";
}
foreach my $items (keys %{ $MacroA{$Item}}) {
    print $items, "\n"; …
Run Code Online (Sandbox Code Playgroud)

perl hash reference

0
推荐指数
1
解决办法
1210
查看次数

标签 统计

perl ×4

regex ×4

bash ×1

hash ×1

macos ×1

random ×1

reference ×1

tcl ×1

terminal ×1

unix ×1