小编Kus*_*nda的帖子

sed 查找匹配后的第一个空行并替换

我试图找到匹配后的第一个空行并将其替换为我的文本。例如,如果模式是作者:

Authors
-----
author1
author2
author3
...
authorN

-----
Run Code Online (Sandbox Code Playgroud)

我希望 sed 附加一个额外的作者和一个新行:

Authors
-----
author1
author2
author3
...
authorN
authorAdded

-----
Run Code Online (Sandbox Code Playgroud)

这些模式在文件数据库中的长度和位置是可变的。

bash sed sh

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

正则语言的并集是正则的吗?

如果语言 L1,...,Ln 是正则的,那么它们的并集也是正则的吗?

我们知道两种正则语言的并集就是正则语言。如何证明多个正则语言的并集也是正则的?

proof regular-language

2
推荐指数
1
解决办法
2458
查看次数

XML :: Simple似乎不适用于URL.它是否正确?

我使用以下脚本:

#!/usr/local/bin/perl -wT

use strict;
use warnings;

print "Content-type: text/html\n\n";
print "xml reader";

# use module
use XML::Simple;
use Data::Dumper;

#print Dumper (XML::Simple->new()->XMLin());
Run Code Online (Sandbox Code Playgroud)

它将在我的xml文件中读取,名为xml.xml

如果我现在将xml文件移出我的cgi-bin,请更改其名称并使用以下命令引用它:

#print Dumper (XML::Simple->new()->XMLin("../resource.xml"));
Run Code Online (Sandbox Code Playgroud)

它仍然有效.

如果我现在尝试使用url而不是脚本不返回任何内容:

print Dumper (XML::Simple->new()->XMLin("http://digitalessence.net/resource.xml"));
Run Code Online (Sandbox Code Playgroud)

我已经尝试过使用和不使用http://,没有www和各种不同的方法,但它不会返回任何内容.

我在这里做过傻事还是不加载远程网址?

谢谢.

xml perl xml-simple

1
推荐指数
2
解决办法
2495
查看次数

如何将时间从hh:mm:ss分解为hh mm ss in unix?

我的意见是

 ./filename Apr 11 16 05:10:20 Jun 12 16 06:22:35
Run Code Online (Sandbox Code Playgroud)

我想转换Apr 11 16 05:10:2016 04 11 05 10 20 我使用以下功能,

convert_date_2() 
{
local months=( Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec )
local i

for (( i=0; i<11; i++ ))
do
[[ $1 = ${months[$i]} ]] && break
done
printf "%2d %02d %02d %02d %02d %02d \n" $3 $(( i+1 )) $2 $4 $5 $6
}

Start=$( convert_date_2 $1 $2 $3 $4 …
Run Code Online (Sandbox Code Playgroud)

bash awk date

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

当执行`ls * .c`时,内部会发生什么?

最近,我对Linux内部产生了非常大的兴趣,目前正在尝试了解它们的工作原理。

我知道当我打字 ls

  • opendir() -函数被调用;
  • readdir() -为目录数据存储中的每个目录条目调用的函数;
  • stat() -如果需要,可以调用函数以获得有关文件的其他信息。

如果我缺少某些东西或有错,请纠正我。

对我来说,神秘的部分是文件名扩展(globbing)。

我比较了 strace ls

open(".", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFDIR|0755, st_size=270336, ...}) = 0
getdents(3, /* 14 entries */, 32768)    = 440
getdents(3, /* 0 entries */, 32768)     = 0
close(3)                                = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
write(1, "2q.c  ds.c  fglob  fnoglob\n", 272q.c  ds.c  fglob  fnoglob
Run Code Online (Sandbox Code Playgroud)

并且strace ls *.c

stat("2q.c", {st_mode=S_IFREG|0664, st_size=0, ...}) = 0
lstat("2q.c", {st_mode=S_IFREG|0664, st_size=0, ...}) = 0
stat("ds.c", {st_mode=S_IFREG|0664, st_size=0, ...}) …
Run Code Online (Sandbox Code Playgroud)

linux shell wildcard linux-kernel

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

标签 统计

bash ×2

awk ×1

date ×1

linux ×1

linux-kernel ×1

perl ×1

proof ×1

regular-language ×1

sed ×1

sh ×1

shell ×1

wildcard ×1

xml ×1

xml-simple ×1