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-491396

abacox's questions

Martin Hope
abacox
Asked: 2022-01-19 19:23:14 +0800 CST

为什么我不能修剪这个目录?

  • 0

busybox version 1.33.0

我正在尝试复制整个home文件夹。

在home,内部/dev/sda2/安装,如下所示:

/home/user/sda2
/home/user/sda2/root
/home/user/sda2/home_backup

您可以在上面看到root/目录sda2/,由实际拥有root。此外,还有home_backup/哪些将存储来自/home.

我的问题是:

执行以下行后,我得到了一个很好的文件列表,/home/user/sda2并且它的内容无处可寻,这正是我想要的:

LC_ALL=C find /home -path /home/user/sda2 -prune -o -iname '*' -print \;

但是对于以下内容,我总是收到operation not permitted目录错误root/(准确,我不是所有者,普通用户),这意味着它不会sda2像我预期的那样修剪:

LC_ALL=C find /home -path /home/user/sda2 -prune -o -iname '*' -exec cp -r '{}' /home/user/sda2/home_backup/ ;/

由于显而易见的原因/home/user/sda2,必须排除,不要一遍又一遍地复制相同的数据。

检查这个并不能真正回答我的问题,但它让我对如何prune工作有了一个概念。

https://stackoverflow.com/questions/1489277/how-to-use-prune-option-of-find-in-sh/1489405#1489405

编辑

我刚刚意识到,在上一行中,所有文件都将混合在一起,home_backup但这不是问题,我仍然想知道为什么我不能正确“修剪”。

find busybox
  • 1 个回答
  • 37 Views
Martin Hope
abacox
Asked: 2021-11-13 21:36:30 +0800 CST

为什么这个词不能是grep?

  • 2

我只能访问busybox, v 1.27。

我正在尝试使用从 PDF 文档中提取的巨大 TXT 文件作为 TXT 字典,以便控制台友好。我想要得到的词是该行的第一个词。接下来是定义。

Word I'm grepping for:

patético

我正在使用的一个班轮是这样的:

cat ./rae.txt | grep '^patético'

cat正在使用,因为我可以更快地删除我正在寻找的单词,而且效率更高。只需删除该行的最后一部分,即术语,它就可以节省几次击键。

大多数时候,我会得到我正在搜索的单词的定义,例如anhelo.

$ grep -e '^anhelo' ./rae.txt
anhelo. (Del lat. anhelus). 1. m. Deseo vehemente.     
anheloso, sa. (Del lat. anhelosus). 1. adj. Que tiene o siente anhelo. Anhelosos de con-   cluir. 2. adj. Propio de lo que muestra anhelo. Mirada, búsqueda anhelosa. 3. adj. Dicho de la   respiración: Frecuente y fatigosa. 4. adj. desus. Que respira de este modo.     

如您所见,每一行都有定义,anhelo并且anheloso.

首先,我认为问题是单词后面的点.和/或逗号,,我认为它被扩展或解释为特殊字符而不是纯文本。但事实并非如此。

我的问题是:

为什么我不能 grep ^patético? 为什么这不起作用?

grep -e '^patético' ./rae.txt

我正在运行的文本grep是:

patería. 1. f. coloq. Chile y Perú. Muestra ocasional y fingida de amistad.     

paternal. (De paterno). 1. adj. Propio del afecto, cariño o solicitud de padre.     

paternalismo. 1. m. Tendencia a aplicar las formas de autoridad y protección propias del   padre en la familia tradicional a relaciones sociales de otro tipo; políticas, laborales, etc. U. m.   en sent. peyor.     

paternalista. 1. adj. Dicho de una persona: Que adopta el paternalismo como forma de   conducta. U. t. c. s. 2. adj. Que responde o parece responder a dicha actitud.     

paternalmente. 1. adv. m. De modo propio o digno de un padre.     

paternidad. (Del lat. paternitas, -atis). 1. f. Cualidad de padre. 2. f. Tratamiento que en   algunas órdenes dan los religiosos inferiores a los padres condecorados de su orden, y que   los seculares dan por reverencia a todos los religiosos en general, considerándolos como   padres espirituales.     

paterno, na. (Del lat. paternus). 1. adj. Perteneciente o relativo al padre. 2. adj. Propio   del padre. 3. adj. Derivado de él.  V. casa paterna     

paternóster. (Del lat. Pater noster, Padre nuestro, palabras con que principia la oración   dominical). 1. m. Oración del padrenuestro. 2. m. Padrenuestro que se dice en la misa, y es   una de las partes de ella. 3. m. Cada uno de los aditamentos de alambre que se adaptan al   chambel para aumentarle su capacidad de pesca. 4. m. Chambel ya preparado con estos   artilugios. 5. m. coloq. Nudo gordo y muy apretado.     

patero, ra. (De pato1). 1. adj. Chile y Perú. Adulador, lisonjeador. U. t. c. s. 2. m.   Cazador de patos salvajes.     

pateta. (De pata1). 1. m. coloq. diablo (|| príncipe de los ángeles rebelados). Ya se lo   llevó pateta. No lo hiciera pateta. 2. m. coloq. Persona que tiene un vicio en la conformación   de los pies o de las piernas. 3. m. pl. u. c. sing. Méx. diablo (|| príncipe de los ángeles rebela-   dos). EL patetas.     

patéticamente. 1. adv. m. De modo patético.     

patético, ca. (Del lat. patheticus, y este del gr. o, que impresiona, sensible). 1. adj. Que   es capaz de mover y agitar el ánimo infundiéndole afectos vehementes, y con particularidad   dolor, tristeza o melancolía.     

patetismo. 1. m. Cualidad de patético.     

patí. (De or. guar.). 1. m. Arg. y Ur. Pez grande de río, de color gris azulado con man-   chas oscuras. 2. m. C. Rica. Especie de empanada rellena de carne o papas.     

-patía. (Del lat. -pathia, y este del gr. a, de la raíz -, sufrir, experimentar). 1. elem. com-   pos. Significa 'sentimiento', 'afección' o 'dolencia'. Homeopatía, telepatía.     

patiabierto, ta. (De pata1 y abierto). 1. adj. coloq. Que tiene las piernas torcidas e irreg-   ulares, y separadas una de otra.     

顺便说一句, is 不仅仅是patético每个单词都带有tilde; 在这个词是é。我的系统没有 UTF-8 支持,也没有安装语言包。我认为这不应该是一个问题,因为字母只是一个字节流,而且如果我利用less搜索不显示为grep.

编辑0

语言环境

LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=

文件 -i rae.txt

rae.txt: text/plain; charset=utf-8

编辑1

控制台代码页

C
POSIX

ANSI_X3.110-1983
ANSI_X3.4-1968
ISO-8859-1
ISO-8859-15
ISO-8859-2

编辑2 处理rae.txt后iconvISO8859-1

./rae-iso88591.txt: text/plain; charset=iso-8859-1
linux grep
  • 4 个回答
  • 331 Views
Martin Hope
abacox
Asked: 2021-11-02 22:38:34 +0800 CST

在没有 USR1 的情况下检查 dd 的进度?

  • 8

我在一个busybox 1.27仅限 Linux 的系统上,所以没有output=progress可用的,busybox 自己的实现也不pv是它本身。pipe_progresspv

我有两个问题。第一个基于https://www.linux.com/training-tutorials/show-progress-when-using-dd/。它说,通过向它发送USR1信号dd“暂停”该过程,并且dd在打印其当前状态后将继续它正在执行的工作。我正在尝试进行一些基准测试,dd因此我希望对dd操作的影响最小。我想每秒获得当前操作的输出,因为通过的数据在dd波动,识别传输速率何时下降对我来说很重要。

第一个问题: 'dd'每次收到USR1信号时“暂停”是真的吗?

如果dd每秒暂停一次,那么当传输数十 GB 时,我将在操作中增加几个小时。

第二个问题: 假设第一个问题的答案是肯定的,我想知道是否可以在dd不向进程发送任何信号的情况下打印其当前状态,也许是某种重定向STDOUT(如 2>&1)?

我指的是:

# bs with 1Mib so I can have more control on the test.
dd if=/dev/zero of=/dev/null bs=1048576 count=1024

# Printing current operation status.
sudo kill -USR1 $dd_pid 
linux dd
  • 2 个回答
  • 1022 Views
Martin Hope
abacox
Asked: 2021-10-28 16:17:09 +0800 CST

如何与子网中的“父”IP“对话”?

  • 1

我只能访问 *nix 系统。NetBSD 和/或基于 Linux 的裸操作系统。

所以我的问题来自这样一个事实,即ADB在所有平台上都没有广泛使用,如果是这样很难安装或获取(可以访问互联网,获得超级用户访问权限等)。

无论如何,RNDIS几乎所有 Android 设备都已经提供了功能。允许手机成为“路由器”将使我可以选择使用 netcat,因为我可以设置“服务器”并双向获取/接收文件,而无需ADB参与。

像这样:

NetBSD
dhcpcd -n urndis0

Linux
udhcpd -i usb0

这将为我提供一个由 Android 设置的子网内的 IP。就像是:192.168.32.225/24

因此,电话本质上充当路由器,为我的 *nix 计算机提供属于电话本身设置的子网的 IP。我只想在我的本地主机上打开一个端口127.0.0.1并netcat传输文件。

像这样的东西:

On Android device:
busybox nc -v -w3 -l -p 3838

On *nix system (Linux in the example below):
nc -v -w3 **(upper higher loopdevice outside subnetted network) 127.0.0.24** 3838

并且能够访问 Android 自己的本地网络中已经存在的“更高”网络/循环设备。

让我们假设 Android 手机是另一台主机共享它的连接并为此分配一个子网 IP 给我的计算机,以便我的 *nix 盒子可以访问互联网:

那么我的问题是:我可以使用Android手机的RNDIS接口提供的IP(在子网内)通过*nix中的标准工具访问手机本身的本地网络吗?

解决方案 @Frédéric Loyer 非常感谢!

太好了,使用这种方法,我不需要在adb我正在使用的每台计算机上运行,​​大多数时候我得到的是busybox ncand or ssh。这太完美了,有了这个我什至可以 ssh 进入我的 Android,甚至不需要手机本身的活动连接,是不是很神奇!?

这就是我所做的。

# This makes my computer to request an IP to my phone.
$sudo udhcpc -i usb0

# Since I got access to busybox-only most of the time, this gives me the IP from the "router" which is the phone.

$route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.42.129  0.0.0.0         UG    0      0        0 usb0
127.0.0.1       *               255.255.255.255 UH    0      0        0 lo
192.168.42.0    *               255.255.255.0   U     0      0        0 usb0

# ifconfig output shows me the new IP assigned to usb0 on my computer.

之后,只需通过 SSH 连接到我的手机或使用 Termux 打开端口即可。惊人!:)

linux networking
  • 1 个回答
  • 153 Views
Martin Hope
abacox
Asked: 2021-10-25 22:24:23 +0800 CST

如何替换/删除新行(\n)?

  • -1

我busybox 1.27.2只能访问。

我目前正在处理一本包含超过 50 万字和 6,000 多页的字典(从带有 ghostscript 的 PDF 中提取并转换为纯文本)。在一个20MB .txt文件中。最初,这本词典中的每个单词都有一个前导->,以便于搜索单词。

我想要实现的是让它变得*nix友好。这意味着如果我这样做: grep -e '->myfancyword' ./dictionary.txt.

结果我应该得到:

->fancyword: This is a very fancy word. *Definition going on for more than 6 lines*

这很容易通过去除所有换行符来完成,\n因此每个单词都将在很长的一行中包含其所有定义,这没关系。我可以用所有替换\n,tr -d '\n'然后通过它的输出,sed 's/->/\n->/g'所以我将在一行中得到所有单词的定义。即使在这个巨大的文档上,它也可以在不到 5 秒的时间内完成。

我几乎得到了我想要的结果,但并不完美。我可以做到这一点grep -e '->word' ./dictionary.txt并得到这个词的完整定义。但它在外观上并不完美。

我对输出不满意的原因是因为原始 pdf 被格式化为打印在A4页面上,这意味着当有一个长单词时,它被切掉了。像这样:

例如

->word: This is a defini-
tion.

如果我使用以前的工作流程处理文件,我得到:->word: This is a defini- tion.当 grepping 所需的单词时。

到目前为止,我设法完成的是:

  1. 输入
->firstword: This is a defini-
tion.
->secondword: This is a second defini-
tion.
  1. 应用 tr -d '\n' < ./dictionary.txt > ./dictionary2.txt

  2. 输出是:

->firstword: This is a defini- tion. ->secondword: This is a second defini- tion.
  1. 跑了:sed -e 's/->/\n->/g' ./dictionary2.txt

  2. 结束于:

输出

->firstword: This is a defini- tion.
->secondword: This is a second defini- tion.

在进行第二步之前,我想删除破折号和换行符 ( -\n) 以将所有切碎的线“连接”在一起。

所以,我的问题是:如何替换/删除行尾包含破折号-和换行符\n( -\n) 的特定字符串?

我喜欢得到的是:

输出(请检查破折号和空格(- )不再存在)

->firstword: This is a definition.
->secondword: This is a second definition.

谢谢你。

编辑:

这是PDF文件的页面:


     ->abigeato. (Del lat. abigeatus). 1. m. Am. Hurto de ganado.
     ->abigeo. (Del lat. abigeus). 1. m. Am. Ladrón de ganado.
     ->abigotado, da. 1. adj. bigotudo.
     ->abinar. 1. tr. rur. y vulg. Binar la tierra.
     ->abintestato. (De ab intestato). 1. m. Der. Procedimiento judicial sobre herencia y
   adjudicación de bienes de quien muere sin testar.
     ->abiogénesis. (De a-2, bio- y -génesis). 1. f. Producción hipotética de seres vivos par-
   tiendo de materia inerte. 2. f. Bioquím. síntesis abiótica.
     ->abiótico, ca. 1. adj. Biol. Se dice del medio en que no es posible la vida.  V. síntesis
   abiótica
     ->abipón, na. 1. adj. Se dice del individuo de un pueblo amerindio que habitaba cerca del
   Paraná. U. t. c. s. 2. adj. Perteneciente o relativo a los abipones. 3. m. Lengua de la familia
   guaicurú hablada por los abipones.
     ->abisagrar. 1. tr. Clavar o fijar bisagras en las puertas y sus marcos, o en otros objetos.
     ->abisal. (Del lat. abyssus). 1. adj. abismal (|| perteneciente al abismo). 2. adj. Se dice de
   las zonas del mar profundo que se extienden más allá del talud continental, y corresponden a
   profundidades mayores de 2000 m. 3. adj. Perteneciente o relativo a tales zonas.
     ->abiselar. 1. tr. biselar.
     ->abisinio, nia. 1. adj. Natural de Abisinia, hoy Etiopía. U. t. c. s. 2. adj. Perteneciente o re-
   lativo a este país de África. 3. m. Lengua abisinia.  V. rito abisinio
     ->abismado, da. (Del part. de abismar). 1. adj. Dicho de una persona, de su expresión, de
   su gesto, etc.: Ensimismados, reconcentrados. 2. adj. Heráld. Dicho de una pieza del escudo:
   Puesta en el abismo.
     ->abismal (1).  (Del ár. hisp. almismár, y este del ár. clás. mismar). 1. m. Cada uno de los
   clavos con que se fijaba en el asta el hierro de la lanza.abismal2. 1. adj. Perteneciente o re-
   lativo al abismo. 2. adj. Muy profundo, insondable, incomprensible.
     ->abismar. 1. tr. Hundir en un abismo. U. t. c. prnl. 2. tr. Confundir, abatir. U. t. c. prnl. 3.
   prnl. Entregarse del todo a la contemplación, al dolor, etc. 4. prnl. Am. sorprenderse (|| con-
   moverse con algo imprevisto o raro).
     ->abismático, ca. 1. adj. abismal2.
     ->abismo. (Quizá del lat. vulg. *abyssimus, der. de abyssus, y este del gr. , sin fondo). 1.
   m. Profundidad grande, imponente y peligrosa, como la de los mares, la de un tajo, la de una
   sima, etc. U. t. en sent. fig. Se sumió en el abismo de la desesperación. 2. m. infierno (|| lugar
   de castigo eterno). 3. m. Cosa inmensa, insondable o incomprensible. 4. m. Diferencia
   grande entre cosas, personas, ideas, sentimientos, etc. 5. m. Heráld. Punto o parte central
   del escudo. 6. m. Nic. Maldad, perdición, ruina moral.

这是在使用 ghostscript 完成提取后对常规文本进行 grepping 时得到的结果(仅使用 dos2unix 处理):


grep -e '->abiog' ./rae-dos2unix.txt
     ->abiogénesis. (De a-2, bio- y -génesis). 1. f. Producción hipotética de seres vivos par-

这是在文本上完成前面的步骤(1-4)时,当我得到:


grep -e '->abiog' ./rae-una-linea.txt
->abiogénesis. (De a-2, bio- y -génesis). 1. f. Producción hipotética de seres vivos par-   tiendo de materia inerte. 2. f. Bioquím. síntesis abiótica.     

text-processing busybox
  • 2 个回答
  • 397 Views
Martin Hope
abacox
Asked: 2021-09-12 18:44:37 +0800 CST

无批处理时:busybox find 。-执行

  • 0

我只能访问busybox。

我有一个文件夹,如下所示:

prueba/$: ls
./uno
./dos
./tres

每两个子目录(uno,dos)都有很多文件(名称中带有空格和非 ASCII 字符),我想将它们移到另一个子目录(tres)。

所以我这样做了(转义字符只是因为,确保在复制和使用 yes 时不做冗余只是为了替换目录 [tres] 中已经存在的任何文件我之前遇到过 mv -f 的问题):

prueba/$: busybox find . -type f -not \( -path . -o -path ./tres \) -exec sh -c ' yes | mv "$1" ./tres ' sh {} \+

但它只移动它找到的第一个文件,然后退出。

但是如果我运行:

prueba/$: busybox find . -type f -not \( -path . -o -path ./tres \) -exec sh -c ' yes | mv "$1" ./tres ' sh {} \;

我得到了我的预期。所有文件都从子目录“uno”和“dos”移动到子目录“tres”。

;[隐式循环]和+[隐式批处理]到位时激活的内部机制是什么?

第一个命令行(带有 的命令行+)有什么问题?

以下是不可能的:

mv -f ./uno/* ./dos/* ./tres/

我正在做一些自动化的工作,这将需要我只运行一个单线并完成这项工作。另外,这是一个无聊的解决方案。

编辑:

背后的原因find . -exec sh -c 'CMD "$1"' sh {} \;

是否可以安全地使用`find -exec sh -c`?

find mv
  • 1 个回答
  • 179 Views
Martin Hope
abacox
Asked: 2021-09-08 20:03:35 +0800 CST

无输出:busybox find 。-exec sh -c ' 读取链接 -f "$1" | 尾 -n +2 ' sh {} \;

  • 2

我只能访问 Busybox 1.31.1

我最初想删除输出的当前工作目录(单点)。

例子:

/prueba$ ls
uno dos tres

当我:

$ busybox find .
.
./uno
./dos
./tres

这很容易通过以下任一方式完成:

busybox find . -not -path .
busybox find . -mindepth 1

现在,我之前尝试的是:

busybox find . -exec sh -c ' readlink -f "$1" | tail -n +2 ' sh {} \;

什么都不打印。如果激活详细输出:

==> standard input <==
==> standard input <==
==> standard input <==
==> standard input <==
==> standard input <==

如果行地址为 1,则输出完全不同:

busybox find . -exec sh -c ' readlink -f "$1" | tail -n +1 ' sh {} \;
==> standard input <==
/tmp/prueba
==> standard input <==
/tmp/prueba/tres
==> standard input <==
/tmp/prueba/dos
==> standard input <==
/tmp/prueba/uno

这是怎么回事?

linux find
  • 1 个回答
  • 154 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