Questions tagged «perl»

Perl是一种功能强大的高级编程语言。有关Perl的问题应仅限于Perl开发环境,运行Perl或使用Perl在计算机上自动执行任务。

11
何时使用Bash以及何时使用Perl / Python / Ruby?[关闭]
到目前为止,我们正在使用Bash进行所有脚本编写,但是我对此感到有点傻。虽然我们当然可以使用Bash来完成我们想要的一切(功能非常强大),但我开始怀疑我们是否应该使用适当的脚本语言(在我们的情况下,很可能是Ruby)代替。 您如何决定何时在Bash上使用Perl / Python / Ruby来编写脚本?我认为使用Ruby的初始化脚本没有道理,但是添加电子邮件帐户的稍长的脚本又如何呢?
78 linux  bash  script  perl  ruby 

10
从文本流中删除ANSI颜色代码
检查来自的输出 perl -e 'use Term::ANSIColor; print color "white"; print "ABC\n"; print color "reset";' 在文本编辑器(例如vi)中显示以下内容: ^[[37mABC ^[[0m 如何从输出文件中删除ANSI颜色代码?我想最好的方法是通过各种流编辑器通过管道传递输出。 以下不起作用 perl -e 'use Term::ANSIColor; print color "white"; print "ABC\n"; print color "reset";' | perl -pe 's/\^\[\[37m//g' | perl -pe 's/\^\[\[0m//g'
73 regex  sed  perl  awk 



3
命令与程序?
我一直在寻找adduser和之间的区别useradd,并且一个解释是,这useradd是一个命令,同时adduser是一个perl脚本。我了解什么是perl脚本,但我不了解的是a command确切的含义。 我一直以为,命令一样ls,ln,cd等都是写在任何语言中所有简单程序,简单地做一两件事。这些“简单程序”和perl脚本之间有什么区别? 我当然知道(perl)脚本不是编译而是在运行时解释的,但是我猜那不是唯一的区别吗?

5
如何在Linux下将文件切成给定大小?
我想通过蛮力来缩小文件的大小,也就是说,我不在乎其余的,我只想将文件切成一半,然后丢弃其余的。 首先想到的是Perl的truncate。我按照该页面上的示例进行操作,并且做的完全相同: seq 9 > test.txt ls -l test.txt perl -we 'open( FILE, "< ./test.txt" ) && truncate( FILE, 8 ) && close(FILE);' 但是文件仍然具有相同的大小: $ ls -lgG test.txt -rw-rw---- 1 18 2013-08-08 09:49 test.txt 我该如何进行这项工作?
19 linux  ubuntu  shell  perl 

7
unix-按行分割巨大的.gz文件
我确定有人具有以下需求,按行分割大.gz文件的快速方法是什么?基础文本文件具有1.2亿行。我没有足够的磁盘空间来立即压缩整个文件,所以我想知道是否有人知道可以将文件(.gz或内部.txt)分割为3x 4000万行文件的bash / perl脚本或工具。即调用它像: bash splitter.sh hugefile.txt.gz 4000000 1 would get lines 1 to 40 mn bash splitter.sh hugefile.txt.gz 4000000 2 would get lines 40mn to 80 mn bash splitter.sh hugefile.txt.gz 4000000 3 would get lines 80mn to 120 mn 也许正在做一系列这样的解决方案,或者gunzip -c需要足够的空间来解压缩整个文件(即原始问题):gunzip -c hugefile.txt.gz | 头4000000 注意:我无法获得额外的磁盘。 谢谢!
16 linux  perl  bash  shell  unix 

8
如何在Mac上排队多个文件进行复制?
当我在Mac上复制多个文件时,系统会尝试同时复制所有文件。这个问题有两个方面。 首先,当您选择多个文件并复制它们时,它们都会以“全有或全无”的方法进入一个进程,这与数据库中的ACID不同。通常这是不可取的。 此外,当您添加其他复制过程时,系统会尝试同时复制所有内容。 例如,我决定复制一个大文件A,然后再决定复制一个大文件B。这导致两次并行复制操作,而不管“大文件”之一是否也是许多文件的选择。 我不喜欢这样做有几个原因: 当多个复制进程同时运行时,似乎会使其他进程陷入困境。 同样,当同时复制多个文件时,复制过程本身似乎要慢得多。 最后,如果该过程中止,则没有文件到达其目的地。 将文件添加到队列时,它还将立即开始复制,并进一步拖延该过程。 当复制到(本地)网络上的其他计算机或驱动器时,这是一个实际的问题。 结果:A我要首先传输和使用的文件到达所需的时间比所需的时间长得多,并且从LAN上的中央HD复制时,除非所有其他文件也都到达了,我才能使用第一个文件。 因此...如何在Mac上排队多个文件进行复制?需要说明的是:无论选择了多少文件,还是一个一个地添加它们,我都希望它们全部放入一个队列中,一次只能复制一个文件,直到完成队列。 也欢迎使用Bash,尤其是Perl回答!

2
如何识别shell中的非ASCII字符?
有一个简单的方法来打印上,他们使用命令行实用程序,如在文件中出现的所有非ASCII字符和线路号grep,awk,perl,等? 我想将文本文件的编码从UTF-8更改为ASCII,但在此之前,希望手动替换所有非ASCII字符实例,以避免由文件转换例程影响的意外字符更改。
11 linux  grep  perl  awk  ascii 

2
获取当前Perl脚本的进程ID
如何获取正在运行当前脚本的perl进程的进程ID?getppid()不返回与ps -ea |相同的pid。grep。有没有一种简单的方法,还是只在脚本中运行ps -ea命令并修剪掉其他信息?
11 perl 

1
计算文件第一栏中的出现次数
我们有这个文件: 1 2 1 3 1 2 3 3 52 1 52 300 还有1000个 我想计算每个值在第一列中出现的次数。 1 3 3 1 52 2 这意味着我们看了1三遍。 如何在Perl,AWK或Bash中做到这一点?
9 linux  bash  perl  awk 

2
Macport升级失败,并发生Subversion-Perlbindings冲突
我正在尝试执行port upgrade outdated,但由于无法解决的程序包冲突而停止。 有谁知道如何解决这个问题? sudo port upgrade outdated ---> Computing dependencies for subversion-perlbindings-5.16 Error: Unable to exec port: Can't install subversion-perlbindings-5.16 because conflicting ports are installed: subversion-perlbindings-5.12
8 macos  svn  perl  macports 


2
如何将bash变量(密码)传递给IRSSI配置文件?
我正在使用IRSSI,我想知道如何将IRC频道的密码传递给IRSSI配置文件( ~/.irssi/config )而不直接在文件中写入它们。 在Mutt中,我有一个awk命令,用于查询加密的主文件夹中的本地文件,如下所示: set my_pass1=`awk '/fradeve_gmail:/ {print $2}' ~/.mutt/muttpass` set my_pass2=`awk '/fradeve_inventati:/ {print $2}' ~/.mutt/muttpass` IRSSI有类似的解决方案吗? PS:显然我 别 想把IRSSI配置文件保存在加密的家里:)
2 bash  perl  awk  mutt  irssi 

1
Apache“70007超时错误”
我偶尔会从(我认为)Perl CGI脚本中获取Apache 70007超时错误。我认为问题是我的脚本超出了Apache的TimeOut值,但我编写了一个睡眠脚本,它在Apache超时时给出了不同的错误。 任何人都可以对这个错误有所了解吗? ---我的测试--- [2013年5月13日星期一13:46:45] [警告] [客户端X.168.X.43]超时等待CGI脚本输出/var/www/cgi-bin/sleep.pl [Mon May 13 13:46 :45 2013] [错误] [客户端X.168.X.43]脚本标题的提前结束:sleep.pl ---实际错误--- [2013年5月13日13:46:52] [错误] [客户端X.182.X.175](70007)指定的超时已过期:读取请求实体数据时出错[Mon May 13 13:47:00 2013] [错误] [client X.0.X.27](70007)指定的超时已到期:读取请求实体数据时出错

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.