AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-447274

user447274's questions

Martin Hope
user447274
Asked: 2025-04-06 10:25:39 +0800 CST

在 Bash 配置文件中,如何从列表中随机挑选项目,但有些项目的出现频率比其他项目更高?

  • -2

在 Linux 中,使用 Bash,我有两个脚本:

  1. script.sh是主脚本,并且
  2. script_config.sh是的配置script.sh。

在中script.sh,我确实source script_config.sh从那里加载所有配置。

在 中script_config.sh,我会做如下事情:

TEMPDIR=/mnt/sda1/temp

我不知道这是否是最好的方法,但对我来说没问题,我将配置放在单独的文件中,可以将其加载到主脚本中。

在旧版本中script.sh,我曾经shuf读取文件(cipher_to_use.txt)来获取要使用的密码的随机输入cryptsetup。

在 中cipher_to_use.txt,只列出了 6 种不同的密码,但有些行出现了多达 10 次,因此shuf选择它们的频率更高,但仍然是随机的。这对我来说还行。

但是现在,有了script_config.sh,我正在寻找一种方法来继续这种方法,
但我不想在中多次写入 6 个密码script_config.sh。

如何在 中使用不同的密码shuf,但使某些密码比其他密码出现得更频繁,同时在 中每个密码仅列出一次script_config.sh?

:编辑

感谢 nbanana 的想法,但是有没有办法让它与您的方式略有不同?

如果我这样写script_config.sh:

(chk = 密码有密钥)

chk1_name_="--cipher aes-cbc-essiv:sha256      --hash sha512  --key-size 256"
chk1_weigt="15"

chk2_name_="--cipher serpent-cbc-essiv:sha256  --hash sha512  --key-size 256"
chk2_weigt="1"

chk3_name_="--cipher twofish-cbc-essiv:sha256  --hash sha512  --key-size 256"
chk3_weigt="1"

chk4_name_="--cipher aes-xts-plain64           --hash sha512  --key-size 512"
chk4_weigt="4"

chk5_name_="--cipher serpent-xts-plain64       --hash sha512  --key-size 512"
chk5_weigt="1"

chk6_name_="--cipher twofish-xts-plain64       --hash sha512  --key-size 512"
chk6_weigt="1"

我要添加什么才能script.sh成为ciphers_has_key_list-file

在 chk1 中重复 15 次,在 chk2 中重复 1 次,等等……?

如果 chk6 不再存在怎么办?

如果有 chk7 和 chk8 会怎么样?

linux
  • 2 个回答
  • 84 Views
Martin Hope
user447274
Asked: 2025-04-05 05:38:33 +0800 CST

列出并统计 /dev/mapper 设备中 cryptsetup 使用的密码

  • 5

在我的 Linux 计算机中,我有/dev/mapper/许多文件名为file1、、....。file2file3

现在我将从文件中了解密码的使用频率。

我试过这个

for i in /dev/mapper/file* ; do cryptsetup status $i | grep cipher ; done | sort

并成为这个输出

  cipher:  aes-cbc-essiv:sha256
  cipher:  aes-cbc-essiv:sha256
  cipher:  aes-cbc-essiv:sha256
  cipher:  aes-cbc-essiv:sha256
  cipher:  aes-cbc-essiv:sha256
  cipher:  aes-cbc-essiv:sha256
  cipher:  aes-cbc-essiv:sha256
  cipher:  aes-cbc-essiv:sha256
  cipher:  aes-cbc-essiv:sha256
  cipher:  aes-cbc-essiv:sha256
  cipher:  aes-cbc-essiv:sha256
  cipher:  aes-cbc-essiv:sha256
  cipher:  aes-cbc-essiv:sha256
  cipher:  aes-xts-plain64
  cipher:  aes-xts-plain64
  cipher:  aes-xts-plain64
  cipher:  serpent-xts-plain64
  cipher:  serpent-xts-plain64

但我正在寻找这样的输出:

13x  cipher:  aes-cbc-essiv:sha256
 3x  cipher:  aes-xts-plain64
 2x  cipher:  serpent-xts-plain64

另外还有如下输出:

file1  use cipher aes-xts-plain64
file2  use cipher serpent-xts-plain64
....
file13 use cipher aes-xts-plain64
linux
  • 2 个回答
  • 75 Views
Martin Hope
user447274
Asked: 2025-03-22 04:38:33 +0800 CST

重命名文件,删除前四个符号[重复]

  • 2
此问题这里已有答案:
批量重命名,更改前缀 (9 个答案)
批量重命名文件 (14 个回答)
从文件名中删除前缀 (2 个答案)
批量重命名子文件夹内的文件,删除前缀 (3 个答案)
3 天前关闭。

这种格式的文件有很多:

IMG_20240717_191421.jpg
IMG_20240620_165358_BURST001_COVER.jpg
IMG_20240624_173513_2.jpg

如何在 Linux 中的 Bash 中将其重命名为:

20240717_191421.jpg
20240620_165358_BURST001_COVER.jpg
20240624_173513_2.jpg

IMG_这就是必须去除的东西。

linux
  • 1 个回答
  • 47 Views
Martin Hope
user447274
Asked: 2025-03-20 12:55:28 +0800 CST

移动/标记文件以及相关部分

  • 5

有一个文件夹,里面有很多文件:

112.mkv
123.md5
123.mkv
221.mkv
467.mkv
aa1.mkv
abc.md5
abc.mkv
bbc.mkv
dde.md5
dde.mkv
ggh.mkv
....
xxy.md5
xxy.mkv
xxz.mkv

如何将.md5文件和相关.mkv文件移动到新目录(使用 Bash)?

123.md5
123.mkv

abc.md5
abc.mkv

dde.md5
dde.mkv

xxy.md5
xxy.mkv

我想将这些文件移动到一个新目录中,例如mkvandmd5/。

或者,Midnight Commander 中是否有任何提示来标记这些文件.md5和相关.mkv文件?

bash
  • 5 个回答
  • 125 Views
Martin Hope
user447274
Asked: 2024-11-18 13:00:40 +0800 CST

如何在 Linux 中的 Bash shellscript 中编写一个可以执行此类操作的部分

  • 1

如何在 Linux 中的 Bash shellscript 中编写一个可以执行此类操作的部分

输入一个数字

必须在 4 到 999 的范围内

如果没有,请再次询问是否输入

输入的数字 * 5 * 随机数 [1-9](单个数字)

显示结果并询问是否良好

输入 - 进行新的运行(输入的数字 * 5 * 随机数 [0-9](单个数字))

y - 表示脚本中的“是”、“好的”,继续

n - 再次返回“输入数字”处

e - 退出脚本


我知道使用“读取”命令会提示输入一些内容,并且我知道使用cat /dev/urandom | tr -cd '0-9' | head -c 1会变成一个随机数字

linux
  • 2 个回答
  • 103 Views
Martin Hope
user447274
Asked: 2024-11-04 13:37:27 +0800 CST

替换文件中各行的前缀字符串,并将其放入 bash 数组中

  • 7

文件中groupAfiles.txt包括以下行:

file14
file2
file4
file9

我需要一种方法来将它们转换为删除file和添加/dev/loop,并将它们放在一行中,并且它们之间有一个空格。

/dev/loop14 /dev/loop2 /dev/loop4 /dev/loop9

然后我需要将其放入数组中。

(但数字会改变)

我该如何做?

bash
  • 3 个回答
  • 307 Views
Martin Hope
user447274
Asked: 2024-11-04 11:38:36 +0800 CST

格式化输出和列

  • 5

在 Linux 中的 Bash 中的 for 循环中我执行:

... ; do echo "$i --> $i-new" ; ...

输出结果如下:

file1  -->  file1-new
file2  -->  file2-new
...
file9  -->  file9-new
file10  -->  file10-new
file11  -->  file11-new

如何成为这样的输出:

file1   -->   file1-new
file2   -->   file2-new
...
file9   -->   file9-new
file10  -->  file10-new
file11  -->  file11-new

?

linux
  • 1 个回答
  • 18 Views
Martin Hope
user447274
Asked: 2024-11-03 14:39:04 +0800 CST

如何在每行的特定位置添加字符串

  • 3

和

awk '{ printf "%-15s %s\n", $1, $2 }' renamed | sort -V

... 我从文件中获得了良好的输出renamed。

它看起来像:

file1           file1.new

但我想将输出改为:

file1           -->  file1.new

我想--> 在每行的第 15 个位置添加。

怎么办呢?

awk
  • 2 个回答
  • 64 Views
Martin Hope
user447274
Asked: 2024-10-22 12:11:27 +0800 CST

如何使用 Midnight Commander 打开 .tar.xz 索引存档文件?

  • 8

tar -I pixz -cf foo.tar.xz ./foo压缩东西。

tar -I pixz -xf foo.tar.xz解压缩内容。

并附pixz -l foo.tar.xz上内容列表。

我如何使用(mc)Midnight Commander 来实现这一点?

如果我选择foo.tar.xz并按mcEnter 键,则不会出现任何内容。

CPU 使用率暂时升高,但没有发生任何错误。

正常情况下mc可以打开这样的档案文件吗?

如何mc打开并浏览索引.tar.xz文件?

tar
  • 1 个回答
  • 204 Views
Martin Hope
user447274
Asked: 2024-10-18 16:34:08 +0800 CST

btrfs 压缩测试运行时无需写入磁盘

  • 5

我正在考虑将数据驱动器上的文件系统从 ext4 更改为 btrfs,因为 btrfs 可以进行压缩,并且存储空间最终会耗尽。

我已经看到 btrfs 可以使用 zlib、lzo 和 zstd 进行压缩。

https://btrfs.readthedocs.io/en/latest/Compression.html

我怎样才能进行一些测试运行来查看压缩效果如何?

有什么方法可以将数据写入 /dev/null 或其他位置并计算它们在那里经过的字节数?

如何使用不同的压缩器(zlib、lzo 和 zstd)进行一些测试,而无需书写,但查看可以压缩多少?

btrfs
  • 1 个回答
  • 46 Views
Martin Hope
user447274
Asked: 2024-10-11 03:29:34 +0800 CST

如何使用 xargs 在每次调用命令后打印已处理的参数

  • 5

我运行这个命令:

ls -1 | xargs -I% -n1 -P8 myprogramm -s1 -r5 -q -o %.dat %

它一次可以运行 8 次,-qmyprogramm 中的开关用于退出,这样就可以了。

但是如果程序运行完成,每次运行时我都会添加类似的内容; echo %作为屏幕上的输出名称。

我运行这个命令:

ls -1 | xargs -I% -n1 -P8 myprogramm -s1 -r5 -q -o %.dat % ; echo %

我没有看到任何错误,但是输出不是我想要的。

我看到在 bash 中所有运行完成后只有一个带有一个符号的新行,%

但我会得到如下输出:

file1
file2
file3
...

%=fileN 是用xargs运行的作业,怎么变成这样的输出?

bash
  • 2 个回答
  • 23 Views
Martin Hope
user447274
Asked: 2024-10-10 21:28:50 +0800 CST

如何检查脚本启动路径是否存储在 HDD 或 SSD 驱动器上?

  • 8

如何检查脚本启动路径是否存储在 HDD 或 SSD 驱动器上?

我已经阅读了有关ssd 和hdd 的cat /sys/block/sda/queue/rotational节目。01

if [ "$(</sys/block/sda/queue/rotational)" = 0 ]; then
    echo "SSD"
else
    echo "HDD"
fi

但是这如何与.或结合$PWD进行检查?

bash
  • 1 个回答
  • 99 Views
Martin Hope
user447274
Asked: 2024-10-10 19:22:11 +0800 CST

随机选择文件并将名称放入文本文件中

  • 4

文件夹中的文件从file1到fileX。X 表示有时从file1到file21。有时从到file1。file55如何运行脚本或一行程序来创建 4 个组 (AD)/4 个列表, filegroupA.txt filegroupB.txt filegroupB.txt filegroupD.txt 但文件名应随机且无序地放入 .txt 文件中

filegroupA.txt

file2
file18
file7
file13
file4
...

filegroupB.txt

...

编辑:

名称中没有特殊字符。

它们都具有相同的方案,fileX 和 fileXX。

也没有子目录。

filegroupX-file 的最小输出必须为 4。

fileXX 文件的数量绝不会少于 20 个。

大写的 AD 标签并不是严格要求的,它只是为了更好的阅读,但不是必须具备的功能。

bash
  • 1 个回答
  • 53 Views
Martin Hope
user447274
Asked: 2024-10-10 12:31:11 +0800 CST

bash-根据要求检查可用空间

  • 5

在 bash 中,我将运行一个脚本,查看文件夹folder123/以了解其中的文件需要多少空间。但是,我将把这个请求的值乘以1,5可用空间,然后从中减去,. 如果有足够的可用空间,则继续执行脚本,但如果没有足够的可用空间,则退出并出现错误。

为了检查需要多少空间,我尝试了这个

du -b folder123/ | tail -n 1 | awk '{print $1}'

为了检查有多少可用空间,我发现了这一点

df --output=avail -B 1 "$PWD" |tail -n 1

但是在 bash 脚本中,如何将请求数乘以可用数1,5,然后从可用数中减去?

:编辑

如果我用类似的东西

avail=$(df --output=avail -B 1 . | tail -n 1)
req=$(( $(du -sb tempdir/ | cut -f1) * 3 / 2))
sum=$(printf '%d\n' "$((avail - req))")

但是如何继续检查 $sum 是否正常?

bash
  • 1 个回答
  • 37 Views
Martin Hope
user447274
Asked: 2024-10-06 00:05:03 +0800 CST

如果子 shell 因错误退出,如何退出 shell

  • 4

有一个脚本,1.sh。1.sh启动1a.sh然后1b.sh

但是如何退出所有脚本,如何退出以及如果出现错误则1.sh如何不启动 ?1b.sh1b.sh

bash
  • 1 个回答
  • 33 Views
Martin Hope
user447274
Asked: 2024-10-05 12:03:49 +0800 CST

如何查找具有特定最小大小的文件?

  • 7

使用find,我将检查目录中是否存在任何最小大小为 1 字节的文件in,如果不存在则退出。

我尝试过类似的东西,但它不起作用

find ./in/ -type f -iname '*' -size 1c &> /dev/null
if [ "$?" != 0 ]
then
    echo file size is under 1 byte, aborting...
fi
scripting
  • 1 个回答
  • 134 Views
Martin Hope
user447274
Asked: 2024-10-03 03:41:38 +0800 CST

如何一次处理 N 个项目序列

  • 8

我想在 Linux 系统上使用 bash 和 xargs 并行运行 N 次命令。命令如下:

for i in `seq 1 $(howmany.txt)`; do aprogramm --file file$i.dat ; done

该文件howmany.txt包含值100,并且ntimes.txt包含值5。

文件按顺序从 1 到 100file1存在file100,我想一次并行处理 5 个文件。如何使用 执行此操作xargs?

bash
  • 5 个回答
  • 255 Views
Martin Hope
user447274
Asked: 2024-09-28 05:56:58 +0800 CST

如何检查当前工作目录中有多少可用空间?

  • 5

如何检查 Linux 系统上当前工作目录中有多少可用空间?

我有一个filesize文件,其中包含1073741824所需的磁盘空间量(以字节为单位)。

我需要在脚本中检查文件夹中是否有文件内容大小 * 1.25 字节的空闲空间。该怎么做?

pwd可以打印当前文件夹的路径,但是如何将其与之结合起来df?

linux
  • 1 个回答
  • 46 Views
Martin Hope
user447274
Asked: 2024-07-18 12:39:31 +0800 CST

在 Linux 系统中以线性模式将特定数量的文件/设备连接在一起

  • 5

为了以线性模式连接 Linux 文件/设备,我有这个dm-joinlinear.sh脚本

在 Linux 系统中以线性模式将文件/设备连接在一起,感谢 telcoM

#!/bin/sh
usage() {
    echo "Usage: ${0##*/} <target name> <component...>" >&2
    exit 64 # EX_USAGE
}
if [ "$1" = "" ] || [ "$1" = "-h" ] || [ "$1" = "-?" ] || [ "$1" = "--help" ]
then
    usage
fi

if [ -e "/dev/mapper/$1" ]
then
    echo "ERROR: target $1 already exists." >&2
    exit 73 # EX_CANTCREAT
fi
MAPNAME="$1"
shift

DMMAP=$(mktemp)
trap "rm -f $DMMAP" EXIT

sum=0
while [ "$1" != "" ]
do
    if [ ! -e "$1" ]
    then
        echo "ERROR: $1 does not exist"
        exit 66 # EX_NOINPUT
    fi
    if [ ! -b "$1" ]
    then
        echo "ERROR: $1 is not a block device"
        exit 69 # EX_UNAVAILABLE
    fi
    srcN="$1"
    sizeN=$(blockdev --getsz "$srcN")
    echo "$sum $sizeN linear $srcN 0" >>$DMMAP
    sum=$(expr $sum + $sizeN)
    shift
done
dmsetup create $MAPNAME < $DMMAP

我运行脚本

./dm-joinlinear.sh one /dev/loop? /dev/loop??

或者

./dm-joinlinear.sh one /dev/mapper/file? /dev/mapper/file??
/dev/loop0 and /dev/mapper/file1 are the same
/dev/loop1 and /dev/mapper/file2 are the same
....
/dev/loop32 and /dev/mapper/file33 are the same

我可以使用以下脚本运行

dm-joinlinear.sh one /dev/loop[0-9] /dev/loop[1-2]? /dev/loop3[0-2]

或者

dm-joinlinear.sh one /dev/loop0 /dev/loop1 /dev/loop2 .... and so on up to /dev/loop32 (to long to write all down here all)

或者与删除“循环”并使用 mapper/file 相同,但从 1 开始而不是从 0 开始

我更喜欢使用 /dev/mapper/file 而不是 /dev/loop

但是我该如何表示dm-joinlinear.sh他们必须加入多少台设备?值是parts.txt

linux
  • 1 个回答
  • 48 Views
Martin Hope
user447274
Asked: 2024-07-15 06:11:19 +0800 CST

使用 fallocate 处理文本文件中的数字

  • 5

为了测试,我在 Linux 系统上创建了文件list.txt。其中有如下数字:

4 1 5 2 3

(有时会多一些或少一些)

我如何使用 fallocate 运行这些数字?

fallocate -l 1stnumberG file1
fallocate -l 2ndnumberG file2
fallocate -l 3rdnumberG file3
....

我想到类似的事情

declare -i counter ; counter=1 ; for i in "'seq 1 $(wc -w list.txt | cut -c 1)'" ; do fallocate -l ${i}G "file$counter" ; (( ++ counter )) ; done
fallocate: unerwartete Anzahl an Argumenten

declare -i counter ; counter=1 ; for i in "'seq 1 $(wc -w list.txt | cut -c 1)'" ; do fallocate -l ${i}G "file$counter" ; (( ++ counter )) ; done < $(cat list.txt) 
V: $(cat list.txt): Mehrdeutige Umlenkung.

但我没有工作....

linux
  • 1 个回答
  • 43 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve