小编hek*_*mgl的帖子

如何对 find 的输出执行“for each”?

我想找到所有mp41920x1080 的文件。

如果我做

find . -type f -name \*.mp4 -exec ffprobe '{}' \; 2>&1
Run Code Online (Sandbox Code Playgroud)

它将找到所有mp4文件并显示视频信息。例如,输出是否包含(在其他行中)

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from './5432223.mp4':
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 1744 kb/s, 29.97 fps, 29.97 tbr, 60k tbn, 59.94 tbc
Run Code Online (Sandbox Code Playgroud)

我目前的想法是

find . -type f -name \*.mp4 -print0|xargs -0 -n1 echo
for f in $(find . -type f -name \*.mp4); do ffprobe $f 2>&1 | grep 1920x1080;done
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何if grep -q 1920x1080在第一个和第二个空格中合并和 文件名中的输出弄乱了输出。

如果输出匹配,如何仅输出带路径的文件名 …

linux bash grep find

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

通过引用分配php传递

根据下面的PHP代码,输出是

1 . 1 
2 . 2 
3 . 3 
Run Code Online (Sandbox Code Playgroud)

我理解&$ ref是通过引用传递的.但是就像赋值($ row =&$ ref;)之后,只要'row'改变了值,'ref'就会变成与'row'相同的值.真的很混乱.似乎=不仅仅是向左分配正确的值.有人可以验证一下吗?

<?php
$ref = 0;
$row = &$ref;
foreach (array(1, 2, 3) as $row) {
    print "$row . $ref \n" ;
}
echo $ref; 
?>
Run Code Online (Sandbox Code Playgroud)

php

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

可以在数字范围内使用反向引用吗?

我想匹配一个数字等于或高于捕获组中的数字的字符串.

例:

  • 1x1 =匹配
  • 1x2 =匹配
  • 2x1 =不匹配

在我看来,正则表达式看起来像这样,(\d)x[\1-9]但这不起作用.是否有可能使用正则表达式来实现这一目标?

regex google-analytics

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

在PHP中解析HTTP'Last-Modified'日期字符串

FileAPI用来获取文件的HTTP-header Last-Modified时间,它返回以下字符串:

Fri Oct 25 2013 12:04:10 GMT+0100 (GMT Daylight Time)
Run Code Online (Sandbox Code Playgroud)

然后将其发布到PHP,我需要将其转换为合理的内容,最好是时间戳.在你提出建议之前,请strtotime()回复FALSE.

似乎无法在任何地方找到任何答案.

php date last-modified date-formatting

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

strpos总是在php中返回true

我写了这段代码:

$token="Birth";
$msg="I am awesome and I know it";

if(strpos(strtolower($msg),strtolower($token)) >=0){
    echo 'ok';
}
Run Code Online (Sandbox Code Playgroud)

它打印 ok

正如我们所看到的那样Birth,消息中没有任何字样,但它仍然会返回true.我想它应该返回,false因为php手册说.

在这方面有任何帮助,

php string strpos

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

BASH:变量中的对话框输入

我正在尝试使用dialog在bash脚本中创建目录的命令从输入框中获取用户输入。目前,我有以下代码:

 rm -f ans.txt
 dialog --title "Create Directory" --inputbox "Enter the directory name:" 8 40 2>ans.txt
 val=$(<ans.txt)
 mkdir $val
Run Code Online (Sandbox Code Playgroud)

它可以工作,但是需要创建(和删除)临时文件。是否可以dialog$val不使用临时文件的情况下直接从中存储用户输入?

unix bash shell dialog

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

linux sed脚本使每个单词的首字母大写

我正在尝试制作一个sed脚本,它将成为每个的第一个字母

molly w. bolt     334-78-5443
walter q. bugg    984-49-0032
noah p. way       887-12-0921
Run Code Online (Sandbox Code Playgroud)

所以我希望它看起来像这样:

Molly W. Bolt     334-78-5443
Walter Q. Bugg    984-49-0032
Noah P. Way       887-12-0921
Run Code Online (Sandbox Code Playgroud)

到目前为止,我有以下脚本,但它只会大写它遇到的前两个单词,即.制作Molly W. bolt.我无法弄清楚如何修改脚本以获得姓氏大写.我需要添加什么?

h
s/\(.\).*/\1/
y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/
G
s/\(.\)\n\(.\)\(.*\)/\1\3/
/ [a-z]/{
    h
    s/\([A-Z][a-z]* \)\([a-z]\).*/\2/
    y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/
    G
    s/\(.\)\n\([A-Z][a-z]* \)\(.\)\(.*\)/\2\1\4/
}
Run Code Online (Sandbox Code Playgroud)

linux sed

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

使用'&>>'重定向运算符时,意外标记`>'附近的语法错误

在我的文件开始时,我将stderr重定向到stdout,并将stdout重定向到logfile,快速而懒惰地记录所有打印的内容.

在我的脚本中,一些命令有大/未使用的输出,我想将它们重定向到我的日志文件而不在stdout上显示它们的输出.

我试图使用/etc/init.d/myservice stop &>> file.log,但总是以"...意外令牌附近的语法错误">"错误结束"

Bash版本是3.2.25(1) - 发布

bash shell

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

使用套接字时,pcntl_signal 函数未被命中且 CTRL+C 不起作用

我有一个简单的 PHP 脚本,我想从终端运行它,并且能够处理信号代码。该脚本创建 TCP 服务器并处理连接。不知道为什么,但我无法让信号处理工作:

<?php
declare(ticks = 1);

// Register shutdown command.
pcntl_signal(SIGINT, function ($sig) {
  echo 'Exiting with signal: ' . $sig;
  global $sock;
  global $client;
  socket_close($sock);
  socket_close($client);
  exit(1);
});

$address = '127.0.0.1';
$port = 1234;

$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_bind($sock, $address, $port) or die('Could not bind to address.');
socket_listen($sock);

while (TRUE) {
  $client = socket_accept($sock);
  if ($client) {
    $input = socket_read($client, 1024000);
    socket_write($client, var_export($input, TRUE));
    socket_write($client, 'End of data transmission.');
    socket_close($client);
  }
  usleep(100);
}
Run Code Online (Sandbox Code Playgroud)

CTRL+C 不会终止应用程序或调用函数。 …

php pcntl

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

我的非数字列在重新采样时被删除

我的 2 个非数字列标签和 FID 在重新采样时被删除,如何保留这些列?

T               CP      LC      DP     VB   WP      LABEL   FID
10/26/201711:00 251.05  40.9    3157.9  0   256.27  F30d    MN-0001-2017-1
10/26/201711:01 250.88  38.8    3159.3  0   257.32  F30d    MN-0001-2017-1
10/26/201711:02 250.85  38.2    3157.2  0   256.81  F30d    MN-0001-2017-1
10/26/201711:03 250.72  31.7    3159.7  0   255.74  F30d    MN-0001-2017-1
Run Code Online (Sandbox Code Playgroud)

使用groupby似乎只保留 1 列:

newseries1 = newseries.groupby('LABEL').resample('10min', level=1).mean()
newseries1.head(10)
Run Code Online (Sandbox Code Playgroud)

我想将 2 列 LABEL 和 FID 保留在我的数据框中

python pandas

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