1

我需要找到在alpha char:之后发生的时间,而不是在整数之前或之后发生的时间,并且在设置该 grep 时遇到问题。

在下面的示例中,我只想用TAB替换创建时间:之后,而不是在数字之间出现的地方......

创建时间:10/3/02 6:48:34 PM

我正在使用BBEdit. 任何建议将不胜感激,谢谢。

4

1 回答 1

2

我不知道 BBEdit,但是这种东西在 Perl 中真的很容易。例如:

echo "Creation Time: 10/3/02 6:48:34 PM" | perl -ne '$_ =~ s/([^\d]):/$1\t/g; print $_'

或者,如果您有一个包含stuff.txt字符串的文件,您可以键入:

perl -ne '$_ =~ s/([^\d]):/$1\t/g; print $_' stuff.txt

perl 中的-n标志导致它遍历文件或 STDIN,并且-e选项的一部分在引号中运行程序。循环输入时,该行存储在变量中$_。所以我正在做的是替换的内容$_,匹配任何不是数字的部分(括号中的部分),然后是:匹配的部分($1等于第一个括号内的部分)和一个制表符。替换后,我打印修改后的$_.

所以你可以试试

perl -ne '$_ =~ s/([^\d]):/$1\t/g; print $_' stuff.txt > check.txt

并查看check.txt以确保我没有将您误入歧途,然后将其复制过来。

于 2018-01-08T23:16:11.370 回答