小编wjw*_*yob的帖子

为什么 tar 对 stdout 和 - 的处理不同?

在OP 发表评论后,我发现/dev/stdout即使在禁用缓冲后也会给出 10 KiB 的块,但-事实并非如此。为什么是这样?man tar我在Nor中找不到任何与此相关的内容man stdout

注意,/dev/stdout00002800,不是000000a1。输出是正确的,除了用空字节填充之外。

> mkdir -p /tmp/747613
> cd /tmp/747613
> echo 747613 > file.txt

> tar czf /tmp/archive_tgz .
> hd /tmp/archive_tgz
00000000  1f 8b 08 00 00 00 00 00  00 03 ed d1 41 0a c2 30  |............A..0|
00000010  10 85 e1 ac 3d 45 4e 90  66 9a 49 72 9e 2e 22 08  |....=EN.f.Ir..".|
00000020 …
Run Code Online (Sandbox Code Playgroud)

linux shell tar buffer

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

AWK if 条件

给定一个包含内容的文件input.txt

xyMnZnMs76XHgsWJ
size: YN3hxFqFeUxXUMrQ
USPqYEnbquwFhUW7
vhJJduHZu25qHzTw
size: JaTDhQYQtLRWBLjj
uE5HGDAZN6DHU73Q
QxVPfQQaKTgR9LXQ
grnsm8bwSz5fJbQS size:
7CcuZxCHSJYhcdqg
ZuWadAaLWFwDwj5Z
Run Code Online (Sandbox Code Playgroud)

如何使用if (condition) {...} else {...}

我尝试使用:

xyMnZnMs76XHgsWJ
size: YN3hxFqFeUxXUMrQ
USPqYEnbquwFhUW7
vhJJduHZu25qHzTw
size: JaTDhQYQtLRWBLjj
uE5HGDAZN6DHU73Q
QxVPfQQaKTgR9LXQ
grnsm8bwSz5fJbQS size:
7CcuZxCHSJYhcdqg
ZuWadAaLWFwDwj5Z
Run Code Online (Sandbox Code Playgroud)

但所有行都匹配(即使是不$1包含 的行"size"):

match: xyMnZnMs76XHgsWJ
match: size: YN3hxFqFeUxXUMrQ
match: USPqYEnbquwFhUW7
match: vhJJduHZu25qHzTw
match: size: JaTDhQYQtLRWBLjj
match: uE5HGDAZN6DHU73Q
match: QxVPfQQaKTgR9LXQ
match: grnsm8bwSz5fJbQS size:
match: 7CcuZxCHSJYhcdqg
match: ZuWadAaLWFwDwj5Z
Run Code Online (Sandbox Code Playgroud)

我期望输出是:

non-match: xyMnZnMs76XHgsWJ
match: size: YN3hxFqFeUxXUMrQ
non-match: USPqYEnbquwFhUW7
non-match: vhJJduHZu25qHzTw
match: size: JaTDhQYQtLRWBLjj
non-match: …
Run Code Online (Sandbox Code Playgroud)

awk

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

标签 统计

awk ×1

buffer ×1

linux ×1

shell ×1

tar ×1