- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试以三种不同的方式重现相同的结果,但在使用“使用 Shell;”时无法弄清楚如何让它工作; (下面的方法 2a),有帮助吗?
#!/usr/bin/perl
# v5.10.1 / linux
use strict;
use warnings;
use Shell;
# method 1 start
my $result = `df -H | grep -vE '^Filesystem|tmpfs|cdrom|none' | awk '{ print \$5 "\t" \$1}'`;
print $result . "\n";
# end of method 1
# I would like to try to reproduce the above but by using "use Shell", even if the above is already somehow using such anyway?!
# method 2a start
my $result2 = df ("-H"); # use powers of 1000 not 1024 # human readable
print $result2 . "\n"; # I can only get it working up to here
# end 2a
# 2b)
# or use regexs on df -H's output
my @linesofoutput= $result2=~/(.*?)\n/g; # needs checking to see if I'm getting the lines right with this?!
foreach my $temp(@linesofoutput){
if (($temp =~ /^Filesystem/)||($temp =~ /^tmpfs/)||($temp =~ /^cdrom/)||($temp =~ /^none/)){
# do nothing for lines starting with Filesystem, tmpfs or cdrom or none
# print "Do not show: $temp\n";
}else{
#print "$temp\n"; # lines wanted
my @words = split(/\s/, $temp); # make an array out of each line, splitting on any whitespace character: space, tab, newline, etc
@words = grep(!/^$/, @words); # remove empty elements. check this(not starting with, ending with)???
print "$words[4]". "\t"."$words[0]"."\n"; # filesystem entries are in index0, size index1, used index2, avail 3...
# be careful of /path/name of file or folder... because of the gaps, and so they could be made up of multi indexs
}
}
# end of method 2b
最佳答案
如果我理解正确,方法 2a) 应该将 df -H
的输出通过管道传输到 grep
,然后通过管道传输到 awk
。简而言之:您想完成方法 1 的完整重定向工作,这是由 perl 中隐式启动的 shell 完成的。
Shell
包将不会在这里帮助您。该包的唯一目的是,您可以轻松地调用一个命令。所以 df("-H")
有效,但就是这样。
如果您考虑一下,这并没有什么大损失:您所需要的只是 df
的输出。剩下的就是解析和处理该输出——应该在 perl 本身中完成的事情。所以方法 2b 无论如何是更好的方法 - 如果你像这样稍微完善一下:
my @lines = df("-H");
shift @lines; # get rid of "Filesystem..."
for( @lines ){
next if /^tmpfs|cdrom|none/;
my @words = split('\s+', $_);
print $words[4], "\t", $words[0], "\n";
}
我还可以提出方法 3:用 perl 中的内容替换对“df -H”的调用。以下是一些使用 statfs(2)
或 statvfs(2)
系统调用的 CPAN 模块:
关于linux - 通过 : use Shell; 重现结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7703435/
这是在 https://stackoverflow.com/questions/12639454/make-scalacheck-tests-deterministic 中作为“奖金问题”提出的,但没
我的项目使用 Angular 6 和 Leaflet 1.2。 我想重现当用户在 Leaflet map 上保持右键或左键单击时的拖动效果。例如,我希望在不断按下空格键时能够开始拖动 map 。 我已
我们正在将我们的用户身份验证从提供的 .NET 实现迁移到我们自己的系统。 我们希望能够支持存在于 aspNet_Membership 表中的旧密码。 Password 和 Salt 位于该表中,因此
我有一个二进制文件,它在 99% 的时间里都运行良好。有时,我无法理解,它会因这个输出而崩溃。在我重新启动之后,一切正常。 二进制是一个模板系统。它读取了一些带有占位符的模板,例如{%foo%} 或
我试图在 c 中重现 strcpy 的行为,我的问题是该函数有效但它在末尾附加了额外的东西。 char *ft_strcpy(char * dst, const char * src) { in
我最近遇到了可怕的 UserPreferenceChanged 事件 UI 卡住问题,随后我解决了可能的原因,例如: 调用单个控件而不是主应用程序表单(参见 https://stackoverflow
在 Scala 编程中,我可以读到 ==运算符的行为就像是这样定义的: final def == (that: Any): Boolean = if (null eq this) {null eq t
我正在和我的 friend 一起开发 Django 项目。该项目依赖于一些 python 模块。我在 virtualenv 中安装了 django 和其他依赖项。 django 项目的代码位于一个存储
关于spark的大多数问题都使用show作为代码示例,没有生成数据帧的代码,如下所示: df.show() +-------+--------+----------+ |USER_ID|locatio
我正在尝试重现 java.lang.OutOfMemoryError: unable to create new native thread但是使用 -Xss VM 参数。我猜想如果我们有大量线程,并
我正在尝试在自定义 alertView 中插入表格 View 。我需要实现与默认警报相同的样式。从 Debug View Hierarchy 我几乎复制了样式,但我无法弄清楚 Apple 如何设置模糊
标准是否保证如果 std::mt19937 被相同的数字播种,它会在所有平台上产生相同的数字序列? 换句话说,它的实现是否由标准明确定义,或者像 std::rand() 一样被视为实现细节? 最佳答案
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的
我有一个网站可以从 BingPreview/1.0b* 获得访问,这很可能是 Bing 的机器人。 我收到一个错误,它似乎无法找到我非常确定应该存在的 DOM 元素。我没有从任何其他浏览器(在所有主要
有谁知道如何重现 new Notes new scanning feature在 iOS 11 中?? AVFoundation 是否用于相机? 摄像头如何检测纸张/文档/卡片的形状? 他们如何实时放
您好! 作为使用 Objective-C 开发 iPhone 应用程序的初学者,我想知道重新创建 iPhone SMS 应用程序 UI(带有消息气泡等的用户界面)的最简单方法是什么 我考虑过将 UIT
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: How can the built-in range function take a single argu
虽然这很可能是我自己犯的错误,但有人可以帮助我。我有一个包含 6 个数据点的极坐标图,在绘制时仅显示 5 个数据点。如果这是一个问题,我会在 GitHub 上打开 1,但我在想,如果它归结于我糟糕的代
我正在尝试使用 rCharts 重现简单的示例绘图库 sankey图表。我发现this example from scratch并尝试重现它,但是,我遇到了一些问题。 首先,我尝试在没有任何内容的情况
进入 Haskell,我试图重现 numpy's reshape 之类的东西与列表。具体来说,给定一个平面列表,将其 reshape 为一个 n 维列表: import numpy as np a =
我是一名优秀的程序员,十分优秀!