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

acgbox's questions

Martin Hope
acgbox
Asked: 2023-09-28 01:19:33 +0800 CST

我应该使用什么标志来排除与 rclone 同步的文件类型?

  • 5

我有一个要从同步中排除的文件类型列表。但是,由于其奇怪的性质,我不知道哪个标志是合适的

文件排除.txt

encryptable
Zone.identifier
.fuse_hidden*
goutputstream*
.spotlight-*
.fseventsd*
.ds_store*
~lock.*
Thumbs.db
attributes

命令:

rclone sync upload_local gdrive:upload --verbose --update --modify-window 1h --no-update-modtime --transfers 30 --checkers 8 --contimeout 60s --timeout 300s --retries 3 --low-level-retries 10 --stats 1s --stats-file-name-length 0 --exclude-from exclude.txt --log-file=rclone.log

或者您应该使用:“--exclude-regexp”或“--filter-from”

PD:但是有一些非常奇怪的事情。

用--exclude-from exclude.txt它不起作用

与--filter-from exclude.txt它不起作用(将“-”放在行的开头)

与--exclude *Zone.Identifier...它不起作用

与--exclude *.fuse_hidden...作品

与--exclude *Zone.identifier* --exclude *.fuse_hidden* --ignore-case...作品

更新:有效

最后,只要所有行都有通配符,并且正如 @petitradisgris 指出的那样,该列表--ignore-case就可以工作

rclone
  • 1 个回答
  • 43 Views
Martin Hope
acgbox
Asked: 2023-03-28 08:16:00 +0800 CST

如何通过 kill -9 停止 apache2

  • 5

我知道在 linux 上启动或停止 apache2 的正常方法是:

sudo /etc/init.d/apache2 start|stop

或者…

sudo service apache2 start|stop

或者…

sudo systemctl start|stop apache2

但是,在紧急情况下,我想用“kill”命令停止进程。为此,我使用以下命令来停止 PID:

for pid in $(ps -ef | grep -i '[a]pache*' | awk '{print $2}'); do kill -9 $pid &> /dev/null; done

出去

user@user:~$ ps -ef | grep -i '[a]pache*'
root      173437       1  0 19:24 ?        00:00:00 /usr/sbin/apache2 -k start
www-data  173438  173437  0 19:24 ?        00:00:00 /usr/sbin/apache2 -k start
www-data  173439  173437  0 19:24 ?        00:00:00 /usr/sbin/apache2 -k start
user@user:~$ for pid in $(ps -ef | grep -i '[a]pache*' | awk '{print $2}'); do sudo kill -9 $pid &> /dev/null; done
user@user:~$ ps -ef | grep -i '[a]pache*'
root      174321       1  0 19:24 ?        00:00:00 /usr/sbin/apache2 -k start
www-data  174322  174321  0 19:24 ?        00:00:00 /usr/sbin/apache2 -k start
www-data  174323  174321  0 19:24 ?        00:00:00 /usr/sbin/apache2 -k start

... 新的 apache2 PID 出来了

这个命令有什么问题?

谢谢

PD:很久以前我在这个网站上找到了这个命令,但我不记得在哪里,因此我无法参考作者。我为此道歉

linux
  • 1 个回答
  • 31 Views
Martin Hope
acgbox
Asked: 2022-10-28 09:33:16 +0800 CST

从另一批替换一批中的变量输出

  • 6

用户在窗口中手动键入存储在变量中的输入数据。然后批处理对包含用户输入的数据(first.bat)的变量进行“回显”:

set source=%HOMEDRIVE%\test\data.txt
mydialogbox=%HOMEDRIVE%\test\myprogram_dialogbox.exe

SetLocal EnableDelayedExpansion

:: dialog box
for /f "tokens=1-3 delims=" %%i in ('%mydialogbox% --forms --title="Dialog" --text="Set Data" --add-entry="USER" --add-entry="PASSWORD" --add-entry="DBNAME" --separator=","') do (
  set line=%%i 
  echo(!line: =!> %source%
)
IF EXIST %source% (GOTO setdata) else (GOTO end)

:setdata
FOR /F "eol=; tokens=1-3 delims=," %%A IN (%source%) DO (
    set dbuser=%%A
    set dbpass=%%B
    set dbname=%%C
)
echo your imput: %dbuser% %dbpass% %dbname%

例如:

your input: mydb zuckerberg dadada

所以我需要%dbuser% %dbpass% %dbname%在另一个脚本(second.bat)中替换这个值(这些变量:)

set dbname=foo
set dbuser=bar
set dbpass=blabla

预期输出(更改不能是动态的,而是永久的):

set dbname=mydb
set dbuser=zuckerberg
set dbpass=dadada

我该怎么做?

PS:在linux上这很容易

sed -e "s:$dbuser:zuckerberg:g" second.bat

PS:如果我的要求不起作用,那么有没有办法使用%dbuser% %dbpass% %dbname%变量的输出 from first.batintosecond.bat

谢谢

更新:

  1. 我正在使用放屁,它已经奏效了:

first.bat:

fart.exe second.bat "zuckerberg" "%dbuser%"
fart.exe second.bat "dadada" "%dbpass%"
fart.exe second.bat "mydb" "%dbname%"

但是我必须为每次替换执行 3 次相同的命令。我想知道是否有另一种不依赖外部程序的解决方案(.bat、.cmd)

  1. 另一种解决方案是将“回声”的输出放入变量中second.bat:

first.bat:

echo your imput: %dbuser% %dbpass% %dbname%

second.bat:

FOR /F "tokens=*" %%g IN ('echo %dbuser%') do (SET myuser=%%g)
etc

但这不会永久替换第二个脚本的变量值(这是我想要的)。

  1. 另一个解决方案是(first.bat):
(for /f "tokens=1* delims=:" %%a in (%source%) do (
 if "%%b"=="" (echo %%a) else (
  echo %%a|find " id" >null&& echo %%a: ||echo %%a: %%b
 )
))>second.bat

但我无法根据自己的兴趣调整它,因为它会重写输出(不搜索和替换字符串)

  1. 另一种解决方案是使用replacer.bat:
call replacer.bat "second.bat" "zuckerberg" "%dbuser%"

它和放屁有同样的问题。我必须为每个替换运行一个命令(这对我的代码不是很优化)并且依赖于外部脚本

command-line
  • 4 个回答
  • 97 Views
Martin Hope
acgbox
Asked: 2022-08-25 15:53:05 +0800 CST

如何在安装后通过cmd检测java,而无需在Windows 10中重新启动PC

  • 4

当我安装 Java 时,在安装结束时,它没有在我的系统上检测到它:

C:\Windows\system32>where java
INFO: No file could be found for the given patterns.

和

C:\Windows\system32>java -version
"java" is not recognized as an internal or external command,
executable program or batch file.

在此处输入图像描述

只有当我重新启动电脑时,它才会检测到它

在此处输入图像描述

问题:我应该通过 cmd 使用什么命令来检测是否存在已安装的 java(任何版本),而无需重新启动 PC?

PD:在 windows 10 pro x64 21h2 上测试

更新:

我修改了 Carsten.R 的解决方案:

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /s /f *jre* >nul 2>&1 & IF %errorlevel% == 0 (echo OK) else (echo FAIL)
windows-10 command-line
  • 2 个回答
  • 65 Views
Martin Hope
acgbox
Asked: 2022-03-18 13:42:39 +0800 CST

如何在 bash 中使用 expect 来自动安装

  • 5

我有一个 bash 可以回答freefilesync在安装过程中提出的问题,使用期望:

#!/bin/bash
tar -xf FreeFileSync*.tar.gz
mv FreeFileSync*.run FreeFileSync.run >/dev/null 2>&1
chmod +x FreeFileSync.run

/usr/bin/expect << EOF
set timeout -1
log_user 0
spawn ./FreeFileSync.run --accept-license
log_user 1
expect -exact "\r
ENTER to begin installation: "
send -- "y\r"
expect -exact "https://freefilesync.org/donate\r
\r"
EOF

它曾经为我工作。现在我不知道出了什么问题。脚本停在:

ENTER to begin installation:

在此处输入图像描述

我修改了以下几行,但没有得到预期的结果:

expect -exact "\r
ENTER to begin installation: "
send "\r"

或者

expect -exact "\r
ENTER to begin installation: "
send -- "\r"

调试(带/usr/bin/expect -d):

expect: does "\u001bc" (spawn_id exp4) match exact string "\r\nENTER to begin installation: "? no

FreeFileSync 11.18 Setup


expect: does "\u001bc\r\n\u001b[32m\u001b[7mFreeFileSync 11.18 Setup\u001b[0m\r\n\r\n" (spawn_id exp4) match exact string "\r\nENTER to begin installation: "? no
 1. Install for all users:    YES (requires root password)
 2. Installation directory:   /opt/FreeFileSync
 3. Create desktop shortcuts: NO
_____________________________
Press a number [1-3] to change settings,
ENTER to begin installation: 
expect: does "\u001bc\r\n\u001b[32m\u001b[7mFreeFileSync 11.18 Setup\u001b[0m\r\n\r\n 1. Install for all users:    \u001b[1mYES (requires root password)\u001b[0m\r\n 2. Installation directory:   \u001b[1m/opt/FreeFileSync\u001b[0m\r\n 3. Create desktop shortcuts: \u001b[1mNO\u001b[0m\r\n_____________________________\r\nPress a number [\u001b[1m1-3\u001b[0m] to change settings,\r\n\u001b[1mENTER\u001b[0m to begin installation: " (spawn_id exp4) match exact string "\r\nENTER to begin installation: "? no

脚本必须回答的问题是:

Accept the FreeFileSync license terms? [y]es, [n]o, or [s]how: [y/n/s] 

FreeFileSync 11.18 Setup

 1. Install for all users:    YES (requires root password)
 2. Installation directory:   /opt/FreeFileSync
 3. Create desktop shortcuts: NO
_____________________________
Press a number [1-3] to change settings,
ENTER to begin installation: 

-> Removing old installation: /opt/FreeFileSync
-> Installing to: /opt/FreeFileSync
-> New console command: freefilesync
-> Registering file extensions: *.ffs_gui, *.ffs_batch, *.ffs_real

All done!
                __
   ,           ," ^`--o
  ((          (  | __,'
   \\~-------' \_;/
   (             /
   /) .______.  )
  (( (      (( (
   ``-'      ``-'

Get the Donation Edition with bonus features and help keep FreeFileSync ad-free.
https://freefilesync.org/donate

我应该在 EOF 中修复什么?谢谢

linux command-line
  • 1 个回答
  • 250 Views
Martin Hope
acgbox
Asked: 2022-02-19 08:52:23 +0800 CST

在批处理脚本中删除带有“回声匹配扩展名”的文件扩展名?

  • 5

我有这个批处理脚本:

set driveletter=F

call :delext "*.foo"
call :delext "*.bar"
call :delext "*.pdf"


:: funcion delext
@echo off
pause
goto:eof
:delext
  set delext=%1
  del /f/q/s %driveletter%:\"%delext%"
goto:eof

如果与任何扩展名匹配,我需要的是“回声”。

例如,如果有一个名为的文件test.pdf,并且由于它与扩展名匹配*.pdf,那么我想match pdf在输出中回显(如果没有匹配,则不显示任何内容。)

我怎样才能做到这一点?

windows batch-file
  • 1 个回答
  • 343 Views
Martin Hope
acgbox
Asked: 2022-01-14 09:43:34 +0800 CST

如何使用 vbs 将快捷方式发送到公共桌面

  • 6

按照ss64的说明,我创建了一个 vbs 来创建快捷方式

我的test.vbs

Set objShell = WScript.CreateObject("WScript.Shell")
   Set lnk = objShell.CreateShortcut("%HOMEDRIVE%\Users\Public\Desktop\test.lnk")
   
   lnk.TargetPath = "%HOMEDRIVE%\test\start.bat"
   lnk.Arguments = ""
   lnk.Description = "test"
   lnk.HotKey = "ALT+CTRL+F"
   lnk.IconLocation = "%HOMEDRIVE%\test\test.ico, 0"
   lnk.WindowStyle = "1"
   lnk.WorkingDirectory = "%HOMEDRIVE%\test\"
   lnk.Save
   'Clean up 
   Set lnk = Nothing

出去

Error: Could not save shortcut
"c:\test\%HOMEDRIVE%\Users\Public\Desktop\test.ink"

如果我将快捷方式的路径从更改"%HOMEDRIVE%\Users\Public\Desktop\test.lnk"为仅在文件夹test.ink内成功创建快捷方式test

如何在路径中创建快捷方式"%HOMEDRIVE%\Users\Public\Desktop\test.lnk"?

windows shortcuts
  • 1 个回答
  • 536 Views
Martin Hope
acgbox
Asked: 2021-11-03 06:30:39 +0800 CST

如何删除 X 年内未使用(访问、更改或修改)的任何文件

  • 5

我运行这个命令

find BAR -type f -mtime +1095 # older than 3 years

并找到这个文件:

BAR/foo.pdf

所以我运行这个:

stat BAR/foo.pdf
Access: 2020-01-03 01:32:05.584393000 -0500
Modification: 2017-12-04 07: 59: 36.963225900 -0500
Change: 2020-01-02 10: 26: 28.907127100 -0500
# or
find BAR/foo.pdf -type f -printf "%p\n%a\n%c\n\n"
Fri Jan  3 01:32:05.5843930000 2020
Thu Jan  2 10:26:28.9071271000 2020

“访问”和“更改”日期小于 3 年

如果跑步

find BAR -type f -ctime +1095 # older than 3 years

一无所获

我想要的是删除任何 3 年内未使用(访问或更改或修改)的文件

PD:在示例中,仅满足 2 个标准。我希望我的命令搜索满足 3 个条件的文件: 超过 3 年未被访问、修改或更改的文件

linux bash
  • 2 个回答
  • 87 Views
Martin Hope
acgbox
Asked: 2021-08-19 11:52:12 +0800 CST

如何批量获取java版本并在是否为空时回显某些内容

  • 6

这是一个检测java的批次,但总是设置好

setlocal EnableDelayedExpansion
for /f "tokens=3" %%i in ('java -version 2^>^&1 ^| findstr /i "version"') do (echo %%i)
IF %%i == "" (echo fail) else (echo ok)

如何修改此脚本,以便如果系统上未安装 java(32 位或 64 位或两者)“echo FAIL”,如果已安装(32 或 64 位或两者)“echo OK”

PD:如果上面的命令不能正常工作,我也会接受这个命令(或任何其他命令)的响应:

wmic product where "name like '%%java%%' AND NOT Name like '%%java auto%%'"

PD:我找到了一个批次,可以满足我的需求,但它又长又复杂,我无法简化它。我可以提供解决方案的想法

windows-10 windows-7
  • 1 个回答
  • 419 Views
Martin Hope
acgbox
Asked: 2021-07-11 08:45:18 +0800 CST

如何在没有权限的情况下从 root 帐户使用 bindfs/fusermount 挂载/卸载文件夹?

  • 5

这是我的 bash 脚本init.d:

#!/bin/bash
case "$1" in
  'start')
    # mount
    bindfs -n /home/my_user/.local/share/Cryptomator/mnt /home/my_user/drivefolder
 ;;
  'stop')
    fusermount -u /home/my_user/drivefolder
 ;;
  *)
    echo "Usage: $0 { start | stop }"
 ;;
esac

所以我从root帐户运行它:

/etc/init.d/drivemount.sh start
/etc/init.d/drivemount.sh stop

我想要的是在没有特权的情况下从一个帐户挂载/卸载(以便/home/my_user/drivefolder可以root在没有特权的情况下操作挂载的文件夹)。my_user

有什么办法吗?(无需在my_user没有权限的帐户中和从另一个位置运行脚本)

澄清:脚本不会自动运行。我想要的是手动运行脚本,无论是从位置root还是从位置(原因与问题无关my_user)sudo/etc/init.d

PD:我读过eval它可以做到,但我不知道。

linux ubuntu
  • 1 个回答
  • 184 Views
Martin Hope
acgbox
Asked: 2021-05-29 12:36:53 +0800 CST

用于在多个注册表项中查找和删除值的批处理脚本

  • 7

我有一个批处理脚本来查找删除注册表项:

@for %%I in ("foo") do reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "%%~I" /f

我需要在其他注册表项中扩展“foo”的搜索和删除:

"HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run"
"HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"

如何使用单个命令执行此操作?

command-line batch
  • 1 个回答
  • 945 Views
Martin Hope
acgbox
Asked: 2021-05-25 07:02:19 +0800 CST

如何通过命令行在 UniServer Zero 中自动启动 Apache 和 MySQL

  • 5

我想在uniserver zero XIV中通过命令行自动启动 Apache 和 MySQL

这里官方网站建议您使用以下命令启动它(并且有效!):

UniController.exe start_both
UniController.exe stop_both

它也可以通过 GUI 手动完成(并且有效!):

在此处输入图像描述

问题:

奇怪的是,上述动作将文件C:\UniServerZ\home\us_config\us_config.ini从修改false为true

RunAtPcStartUpEnabled=true
RunApacheAtStartUp=true
RunMysqlAtStartUp=true

但是如果我直接在文件中进行修改us_config.ini(不打开应用程序),并将这些值从 更改false为true,当我重新启动PC时,apache + mysql 不会启动,所以上述动作必须做其他事情

另外这里官方网站建议作为服务安装和运行(它不起作用!):

C:\UniServerZ\core\apache2\bin\httpd_z.exe -k install -n "us_apache_1"
C:\UniServerZ\core\mysql\bin\bin\mysqld_z.exe --install "us_mysql_1" --defaults-file=C:/UniServerZ/core/mysql/my.ini
C:\UniServerZ\core\apache2\bin\httpd_z.exe -k start -n "us_apache_1"
sc.exe start "us_mysql_1"

在此处输入图像描述

但这些命令不完整并且包含源错误

UniServer Zero XIV 中 PC apache + mysql 的正确启动方式是什么(通过 cmd 命令行或修改 .ini 文件)?谢谢

windows command-line
  • 2 个回答
  • 227 Views
Martin Hope
acgbox
Asked: 2021-01-15 12:33:13 +0800 CST

有多少互联网协议(与域/URL 相关)?

  • 5

我需要知道当前使用的协议是什么(可以与域或 URL 相关,并且可以由 DNS 解析)。例子:

www.domain.com
ftp.domain.com
ftps.domain.com
ftpes.domain.com
sftp.domain.com
pop.domain.com
pop3.domain.com
smtp.domain.com
imap.domain.com

我搜索了互联网,但找不到这些协议的完整列表。我很感激任何帮助

PD:协议或应用程序使用的端口与此问题无关

networking internet
  • 1 个回答
  • 119 Views
Martin Hope
acgbox
Asked: 2020-09-09 07:23:30 +0800 CST

在 Windows 10 上运行 sysprep 和 Remove-AppxPackage 以使其不影响基本应用程序的最安全方法是什么?

  • 5

我正在使用 sysprep 制作 2020 年 5 月 10 日的 Windows 映像。但它会因错误而停止。

在此处输入图像描述

要修复它,我运行以下 PowerShell 命令:

Import-Module appx
Import-Module dism
Get-AppxPackage | Remove-AppxPackage

在此处输入图像描述 在此处输入图像描述

sysprep 运行良好,完成映像:

在此处输入图像描述

并且在启动时一切正常,除了 Windows 安全,它启动但不允许访问配置面板,也不允许在“服务”中重新启动它。我无法确定问题的原因,但sfc/scannow没有解决这些问题。

无论如何,我真正想知道的是最安全的方式来完成这项工作,因此它不会影响任何必要的 Windows 10 应用程序。

PD:这是排除应用程序的方法,但我不知道应该排除哪些程序包,以免影响基本应用程序。例子:

Get-AppxPackage | where-object {$_.name –notlike "*store*"} | Remove-AppxPackage
windows-10 security
  • 1 个回答
  • 1578 Views
Martin Hope
acgbox
Asked: 2020-05-17 04:56:30 +0800 CST

如何使用带有排除项的 robocopy

  • 6

我正在使用 robocopy 将文件夹和文件从源复制到目标。

原点路径:

folder1
folder2
folder3
file1.txt
file2.log
file3.png

目标路径:

folder_important
folder1
folder2

这是我的命令

set exclude_ext_from_copy=*.log *.txt*
set exclude_folder_from_copy=folder3

robocopy "origin_path" "dest_path" /E /COPYALL /PURGE /MIR /IS /IT /TEE /FFT /ETA /R:10 /W:5 /ZB /V /XF %exclude_ext_from_copy% /XD %exclude_folder_from_copy% /LOG:"%HOMEPATH%\Desktop\log.txt"

在 dest_path 上:

folder1
folder2
file3.png

您可以看到它已从副本“folder3”和扩展名为“* .log”和“* .txt”的文件中排除。到目前为止,一切都很好。

现在我想防止 robocopy 删除“dest_path”上的文件夹“folder_important”。我怎样才能排除它(或保护它不被删除)。思

失败的尝试:

attrib +s +h dest_path\folder_important
robocopy etc etc
attrib -s -h dest_path\folder_important
windows command-line
  • 1 个回答
  • 223 Views
Martin Hope
acgbox
Asked: 2020-05-05 13:45:52 +0800 CST

用 bash 提取 .rar 多部分

  • 8

我运行这个脚本,但是提取 rar 多部分有问题

#!/usr/bin/env bash

shopt -s extglob nullglob

passw=(
  passfoo
  passbar
  passfoobar
  banana
  chocolate
  whiskey
  vodka
  icecream
)

for f in *.@(rar|zip|zip.001|7z|7z.001); do
  for p in "${passw[@]}"; do
    if 7z x -y -p"$p" "$f" -aoa; then
      break
    fi
  done
done

使用.zipor.7z它可以很好地解压缩多部分,因为多部分的扩展是相等的(对于.7z= 7z.001、7z.002等。对于.zip= zip.001、zip.002等)。问题是,如果我将其添加到脚本中:

*.@(rar|part1.rar|zip|zip.001|7z|7z.001)

它失败是因为*.partX.rar两者都以.rar.rar结尾,并且循环一遍又一遍地解压缩相同的东西,或者如果文件有密码则继续失败.part2.rar

尝试解决问题失败:

  1. 排除任何文件.part2.rar(例如*.part{2..99}.rar:)

  2. 使用开关“-x”

我感谢帮助完成循环并以.rar格式集成多部分文件的解压缩

linux command-line
  • 1 个回答
  • 169 Views
Martin Hope
acgbox
Asked: 2020-04-30 09:47:18 +0800 CST

使用 bash 脚本解压缩具有不同密码和压缩格式的许多文件

  • 7

我有这个 bash 脚本来解压缩具有不同密码的文件。但它会无限期地解压并损坏解压后的文件

PASS="passfoo passbar passfoobar"
LIST=$(ls -1 *.{zip,7z,7z.001,rar})
for password in $PASS; do
  OIFS="$IFS"
  IFS=$'\n'
  for i in $LIST
  do
      echo "$password"
      7z x -y -p"$password" "$i" -aoa
      if [ $? -eq 0 ]; then
     continue
    fi
   done
   IFS="$OIFS"
  done

为了临时修复它,我不得不为每个密码创建一个循环。

我想要的是,当脚本匹配密码时,脚本不会测试其他脚本,并且如果与尝试正常解压缩它的任何密码不匹配(如果它没有密码)或显示错误(如果文件有密码但它不在变量中)而不停止解压缩其他文件。思

PD:请记住,要解压缩的文件有时会带有带有空格和其他非 ASCII 字符的名称,或者是按部分压缩的文件

linux bash
  • 1 个回答
  • 116 Views
Martin Hope
acgbox
Asked: 2020-04-11 10:47:04 +0800 CST

通过命令行从 arp 表中删除几个永久条目

  • 6

我正在尝试从我的 arp 表中删除永久条目。但以下命令仅删除那些不是永久的

ip -s -s neigh flush all

使用 arp 实用程序,我能够消除永久的。例子:

arp -a
? (192.168.1.230) en d4:63:c6:11:22:33 [ether] PERM in enp2s0
arp -d 192.168.1.230

由于有几个永久条目,我想自动化该命令,以便它删除任何包含“PERM”的条目:

arp -a | grep -i perm | grep -oP '(\d+\.){3}\d+' | xargs -I {} sudo arp -d {}

但它有一个错误:

xargs: sudo: ended with status 255; aborting

我做错了什么?THK

更新:

解决了 bash 排除执行命令的计算机的 ip 地址

localip=192.168.1.11
arp -a | grep -i perm | grep -oP '(\d+\.){3}\d+' | grep -v $localip | xargs -I {} sudo arp -d {}

谢谢大家

bash networking
  • 1 个回答
  • 849 Views
Martin Hope
acgbox
Asked: 2020-03-12 07:42:07 +0800 CST

如何 cat/grep 字符串用分号分隔

  • 6

如何将 cat/grep 字符串转换为以分号分隔的多个文件以捕获 mac 地址。例子:

文件夹:

 /home/acl

acl 文件:

 acl1
 acl2

字符串格式信息 acl 文件:

 a;mac address;ip address;hostname

示例 acl1 文件:

 a;14:cc:20:00:73:02;192.168.1.150;CONTA1

示例 acl2 文件:

 a;13:aa:10:10:74:01;192.168.1.140;FINANCE2

尝试

 grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}' acl1

出局(预期结果)

 13:aa:10:10:74:01

有没有什么简单的方法可以将此结果整合到一个变量中?

例子:

acl="grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}' acl*"

谢谢

PD:艰难的选择。两种解决方案都是正确的,但我必须选择一个。我谢谢大家

linux bash
  • 2 个回答
  • 368 Views
Martin Hope
acgbox
Asked: 2020-03-10 07:03:53 +0800 CST

Windows 7 到 10 中等效的 grep 字符串

  • 7

我想在 windows 中找到一个与 linux 中的以下命令等效的命令:

cat file.txt | grep -oP '\d{5}-\d{5}'

出去

99527-86793

和:

findstr /R "pattern" file.txt 

我试试这个,但它部分工作。

findstr [0-9]-[0-9] file.txt

出去:

de4f2114-847c-4cf2-8a0b-a38d04c0fdac1/1
99527-86793

如何将输出仅限制为这些数字:开始和结束 5 个数字 0 到 9 - 5 个数字 0 到 9 ?

想

cmd.exe batch
  • 2 个回答
  • 5711 Views

Sidebar

Stats

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

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    Vickel Firefox 不再允许粘贴到 WhatsApp 网页中? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke 为什么使用 Python 的 tar 库时 tar.xz 文件比 macOS tar 小 15 倍? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve