我有一个cshell脚本是这样的:如何将此shell脚本转换为独立于平台的Perl脚本?
`netstat -ap | & grep tcp | grep myprocess | awk '{print $4}' | awk 'BEGIN { FS = :"}{print $2}'`
这是它如何工作的
1.
$ netstat -ap | & grep tcp | grep myprocess
tcp 0 0 *:1234 *:* LISTEN 8888/myprocess
2.
$ netstat -ap | & grep tcp | grep myprocess | awk '{print $4}'
*:1234
3.
$ netstat -ap | & grep tcp | grep myprocess | awk '{print $4}' | awk 'BEGIN { FS = ":"}{print $2}'`
1234
我需要使用Perl尽可能便携。如果没有netstat
和grep
的行为,我认为可移植性不能保证,所以我会尽量确保它们在目标系统上受支持。
我找
- 任何一般考虑要牢记,使Perl脚本便携式?
- 如何在Perl中复制
awk
行为? - 我还可以在Perl中复制
grep
的行为吗?这是可取的(我会做,只有当Perl的grep有任何优势)?
[我定位的是这里所有流行的Windows和Linux版本]
@gbacon无疑更加强大:是不是PERL ='实际提取报告Language'? – Lazer 2010-08-24 20:47:34
=>这是一个缩写,原来的名字不代表任何东西,这个语言的正确名称是'Perl',解释器的名字是'perl' – 2010-08-24 21:02:25
'awk'{print $ 4}'| awk'BEGIN {FS =“:”} {print $ 2}''可以用单个awk语句替换'awk'{split($ 4,:,a); print a [2]}'' – Vijay 2010-08-25 06:31:24