问题列表 - 第5353页

如何将包含大量零的文件解压缩为稀疏文件?

我有一个使用创建的非常大的硬盘的压缩原始图像cat /dev/sdx | xz > image.xz。但是,在此操作之前,驱动器中的可用空间已清零,并且图像大部分由零字节组成。将此图像提取为稀疏文件的最简单方法是什么,以使零块不占用任何空间?

compression sparse-files files disk-image

18
推荐指数
2
解决办法
2634
查看次数

为什么要避免在 bash 脚本中使用“&&”?

我正在编写一个 bash 脚本,其中包含一个简单的 if 部分,其中有两个条件:

  if [[ -n $VAR_A ]] && [[ -n $VAR_B ]]; then
    echo >&2 "error: cannot use MODE B in MODE A" && exit 1
  fi
Run Code Online (Sandbox Code Playgroud)

一位高级工程师审查了我的代码并评论道:

当您可以简单地执行后续行中的两个命令时,请避免使用 && 。

他没有进一步解释。但出于好奇,我想知道这是否属实,以及避免使用&&.

shell bash

47
推荐指数
4
解决办法
2万
查看次数

ps -o 调用中的完整命令行

在 Ubuntu 20.04.3 上,调用ps -e -o args,pid,etime,%cpu,%mem --forest | egrep "firefox|PID" | grep -v grep给出以下结果:

COMMAND                         PID     ELAPSED %CPU %MEM
 \_ /usr/lib/firefox/firefo    5730    01:58:40 20.8  4.9
 |   \_ /usr/lib/firefox/fi    5811    01:58:39  0.0  0.2
 |   \_ /usr/lib/firefox/fi    5841    01:58:39  0.1  0.7
 |   \_ /usr/lib/firefox/fi    5895    01:58:39  0.0  0.9
 |   \_ /usr/lib/firefox/fi    5926    01:58:39  4.3  2.0
 |   \_ /usr/lib/firefox/fi    6000    01:58:38 21.7  2.0
 |   \_ /usr/lib/firefox/fi    6094    01:58:32  4.2  0.3
 |   \_ /usr/lib/firefox/fi    7004    01:54:00  1.4  2.0
 |   \_ /usr/lib/firefox/fi …
Run Code Online (Sandbox Code Playgroud)

terminal ps

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

使用“mawk”将十六进制转换为十进制超出范围

当十六进制数字相对较小时,我可以使用

echo 0xFF| mawk '{ printf "%d\n", $1}'
Run Code Online (Sandbox Code Playgroud)

将十六进制转换为十进制。

当十六进制数很大时,mawk不再起作用,例如

echo 0x8110D248 | mawk '{ printf "%d\n", $1 }'
Run Code Online (Sandbox Code Playgroud)

输出2147483647(这是错误的,2147483647相当于0x7FFFFFFF)。

如何转换更大的数字?

我有很多数字(每行一个数字,超过10M)需要处理,例如:每个0xFF\n 0x1A\n 0x25\n. 如何让它在这种场合发挥作用?经过xargs?有没有更好的方法呢?xargs真的很慢。

shell awk numeric-data

4
推荐指数
2
解决办法
963
查看次数

如何获取所有 xy 但不是 z/xy 的文件列表?

我这台机器上有很多Settings.json文件。

我使用以下方法获取所有这些人的列表:

find / -name "Settings.json" 2>&-
Run Code Online (Sandbox Code Playgroud)

但其中一些位于以Api. 例如:

/ClubApi/Settings.json
/CrmApi/Settings.json
Run Code Online (Sandbox Code Playgroud)

我想将它们全部删除,除非它们属于以Api. 我不能那样做。

我试过:

find / -name "Settings.json" 2>&- | xargs grep -v Api 
Run Code Online (Sandbox Code Playgroud)

但它不适用于过滤路径Api

我怎样才能做到这一点?

grep find filter

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

使用 (G)AWK 合并包含重复字段的记录

我有一个文件user-history.txt,文件内容采用以下模式。

user-1 6
user-1 7
user-2 6
user-2 7
user-2 8
user-3 6
user-3 7
user-3 9
user-4 6
Run Code Online (Sandbox Code Playgroud)

我想合并记录,以便每个用户仅被提及一次,并分别合并第二列。

所需输出

user-1 6,7
user-2 6,7,8
user-3 6,7,9
user-4 6
Run Code Online (Sandbox Code Playgroud)

我尝试过的

由于我还没有足够的经验,所以我无法解决这个问题。我一直在寻找其他解决方案,尽管存在类似的问题,但我还没有找到任何可以解决我的特定问题的解决方案。

如果 (G)AWK 不是用于此任务的最简单工具,我愿意接受其他解决方案。

详细的解释将不胜感激,这样我就可以提高我的知识。

awk text-processing

4
推荐指数
2
解决办法
650
查看次数

在上一行的句号之后将一行的第一个字母大写

我有很多小诗要编辑,如下所示:

\n
Io avevo due sorelle,\nuna bionda e l\xe2\x80\x99altra mora,\ntutte e due leggiadre e belle\ne gentil come l\xe2\x80\x99aurora.\nma la bionda mi \xc3\xa8 sparita,\nse ne \xc3\xa8 andata all\xe2\x80\x99altra vita.\nmi hanno detto che lass\xc3\xb9\npi\xc3\xb9 risplende il suo bel viso\ndove \xc3\xa8 gioia ed \xc3\xa8 sorriso\nma non torner\xc3\xa0 mai pi\xc3\xb9.\ne la mora sta lontana,\nnella terra pascoliana.\ncolgo e bacio il primo fiore:\nil pensier quel bacio porta\nsu la viva e su la morta,\ntutte e due lo stesso amore.\n
Run Code Online (Sandbox Code Playgroud)\n

意大利语语法规则规定,当一节经文在前一节经文中有一个句号之后开始时,第一个字母要大写。应该是这样(例如,请参见第 5 行句点后的大写字母)

\n
Io avevo due …
Run Code Online (Sandbox Code Playgroud)

sed text-processing text text-formatting

7
推荐指数
4
解决办法
1019
查看次数

将不同行上的单词合并为一行

我有一个文件,其中包含彼此下的单词列表,其中这些单词属于一个句子,然后属于下一个句子的单词也彼此在下。与一个句子相关的单词块后跟一个空格,如下面的表示#2 所示

预期输出:(表示#1):

These are the words for sentence 1
These are the words for sentence 2
Run Code Online (Sandbox Code Playgroud)

预期输入:(表示#2):

These
are
the
words
for
sentence 1

these
are
the
words
for
sentence 2
Run Code Online (Sandbox Code Playgroud)

我尝试遵循这个问题,但是当我对不同的句子使用不同的单词时,它不起作用,那么如何在linux中将表示编号2更改为表示编号1?

linux grep awk text-processing

3
推荐指数
2
解决办法
801
查看次数

为什么我的 Linux 控制台中显示 (-) 而不是 (tty1)?我该如何修复它?

所以我今天干净安装了 arch Linux,它显示 ( -) 而不是 ( ttyn),其中nTTY 号码。有没有办法修复它,使其显示正确的 TTY?

这是屏幕照片: https://i.stack.imgur.com/Rsd1K.jpg

linux arch-linux console

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

bash 中不区分大小写的完成

我有一个文件夹~/TestFolder。当前工作目录是主目录( ~)。

我想输入部分命令,例如cd test,并且我希望它自动填充以在按 Tab 时给出命令cd TestFolder

我怎样才能实现这个目标?

bash autocomplete case-sensitivity

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