小编Raf*_*ael的帖子

如何将长 sed 表达式拆分为多行?

sed 's/[long1][long2]/[long3][long4]/' file.txt
Run Code Online (Sandbox Code Playgroud)

我想将此命令拆分为多行 - fx 如下所示:

sed 's/
    [long1]
    [long2]
  /
    [long3]
    [long4]
  /' file.txt
Run Code Online (Sandbox Code Playgroud)

使用\或分隔字符串不起作用。

sed

22
推荐指数
4
解决办法
9924
查看次数

如何测量管道数据的大小?

我想做这样的事情:

> grep pattern file.txt | size -h
16.4 MB
Run Code Online (Sandbox Code Playgroud)

或等效于:

> grep pattern file.txt > grepped.txt
> ls -h grepped.txt
16.4 MB
> rm grepped.txt
Run Code Online (Sandbox Code Playgroud)

(不过会有点不方便)

那可能吗?

pipe

19
推荐指数
2
解决办法
7401
查看次数

这个 sed 表达式有什么问题?

$ echo "104_Fri" | sed 's/^\([0-9]+\)_\([A-Za-z]+\)$/\1;\2/'
104_Fri
Run Code Online (Sandbox Code Playgroud)

我想匹配开头的数字和结尾的字母 - 每个作为一个组。之后我想输出第一组,一个分号,然后是第二组。

我希望这个表达式产生:

104;Fri
Run Code Online (Sandbox Code Playgroud)

为什么这不起作用?

sed

6
推荐指数
4
解决办法
592
查看次数

如何 tar-gz 目录中超过 28 天的所有文件?

每天我都在删除文件夹中的日志文件。

find ~/folder -mtime +28 -type f -delete
Run Code Online (Sandbox Code Playgroud)

现在我想存档和压缩受上述删除命令影响的所有文件,并将此 tar.gz 存储在新目录 folder2 中。

所以让我们假设:

~/folder:
  - x1 (3 days old)
  - x2 (3 days old)
  - y1 (29 days old)
  - y2 (29 days old)

~/folder2:
  - genericname1.tar.gz: (some already present archive)
    - ...
Run Code Online (Sandbox Code Playgroud)

归档、压缩和删除

~/folder:
  - x1
  - x2

~/folder2:
  - genericname1.tar.gz:
    - ...
  - genericname2.tar.gz:
    - y1
    - y2
Run Code Online (Sandbox Code Playgroud)

logrotate

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

如何将 du (fx) 应用于除某些子目录之外的所有子目录?

./a
 |-/bx1
 |-/by2
 |-/bz3
 |-/bx4
 |-/by5
Run Code Online (Sandbox Code Playgroud)

现在我想应用du到除/by2 和/bx4 之外的所有子文件夹。

我可以为一个文件夹实现:

du --max-depth=1 --exclude=./by2
Run Code Online (Sandbox Code Playgroud)

但不是两个。


我发现相关问题:

  1. 获取目录的大小并排除一些文件夹
  2. 将 --exclude 与 du 命令一起使用

在 (1) 中应用了正则表达式,这在我的情况下不起作用 - 至少不舒服。在 (2) 中,排除指的是一个完整的子目录。基本上我的问题是:

我可以提供--exclude文件/目录列表吗?如果是,如何提供?

disk-usage

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

标签 统计

sed ×2

disk-usage ×1

logrotate ×1

pipe ×1