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

Ryan's questions

Martin Hope
Ryan
Asked: 2020-02-16 22:50:47 +0800 CST

为什么 find 和 exec mv 不移动所有文件?

  • 0

当前工作目录有多个编号在 1 到 100 之间的测试文件。这些文件的标题1.txt为100.txt.

该命令find . -maxdepth 1 -regextype posix-egrep -regex '.*/[ -._&a-zA-Z0-9]+\.txt' -exec bash -c 'mv "$@" "TestDir - Level One"' {} +将所有文件移动一个,例如15.txt.

相反,该命令find . -maxdepth 1 -regextype posix-egrep -regex '.*/[ -._&a-zA-Z0-9]+\.txt' -exec mv {} "TestDir - Level One"/ \;移动所有文件。

如果find . -maxdepth 1 -regextype posix-egrep -regex '.*/[ -._&a-zA-Z0-9]+\.txt' -exec bash -c 'mv "$@" "TestDir - Level One"' {} +再次执行该命令,则返回错误mv: missing destination file operand after 'TestDir - Level One' Try 'mv --help' for more information.

的版本find是find (GNU findutils) 4.7.0-git

find mv
  • 1 个回答
  • 268 Views
Martin Hope
Ryan
Asked: 2020-01-18 22:00:46 +0800 CST

为什么 xargs 输出结果带有换行符?

  • -1

执行命令find . -maxdepth 1 -regextype posix-egrep -regex '.*/[a-zA-Z]+\.txt时,返回以下结果。

./testfile.txt
./testread.txt

相比之下,命令find . -maxdepth 1 -regextype posix-egrep -regex '.*/[a-zA-Z]+\.txt' -print0输出./testfile.txt./testread.txt为单行,据我了解,该标志将其-print0剥离/替换\n为NUL或\0将其用作分隔符。

当后面的命令和参数传递给xargs如下find . -maxdepth 1 -regextype posix-egrep -regex '.*/[a-zA-Z]+\.txt' -print0 | xargs -0 -i echo {}时,它显示

./testfile.txt
./testread.txt

我假设不需要'{}'后续,因为使用了标志并且处理了空格等字符而没有错误。echo-print0

下面的命令都生成一行。

  • find . -maxdepth 1 -regextype posix-egrep -regex '.*/[a-zA-Z]+\.txt' -print0 | xargs -0
  • find . -maxdepth 1 -regextype posix-egrep -regex '.*/[a-zA-Z]+\.txt' -print0 | xargs -0 echo

为什么xargswith{}返回带有换行符的结果?

如果{}附加一个换行符,为什么要将它与命令结合使用,例如echo {}?

find xargs
  • 2 个回答
  • 2113 Views
Martin Hope
Ryan
Asked: 2020-01-14 09:22:49 +0800 CST

可以将 echo 组合以产生 .*/ 和 */ 的单个结果吗?

  • 0

该echo命令根据传递给它的表达式输出不同的结果。工作目录是/home/etc

$ echo .*/
/ ../ .cache/ .config/ .gnupg/ .local/ .mozilla/ .ssh/

$ echo ./*
./Desktop ./Documents ./Downloads ./Music ./Pictures ./Public ./snap ./Templates ./Videos

$ echo .*/*
.cache/event-sound-cache.tdb.d410907cf15246578458d0ad7919eb5e.x86_64-pc-linux-gnu .cache/evolution .cache/fontconfig .cache/gnome-screenshot .cache/gnome-software .cache/gstreamer-1.0 .cache/ibus .cache/ibus-table .cache/libgweather .cache/mesa_shader_cache .cache/mozilla .cache/thumbnails .cache/ubuntu-report .cache/update-manager-core .cache/wallpaper .config/dconf .config/enchant .config/eog .config/evolution .config/gedit .config/gnome-initial-setup-done .config/gnome-session .config/goa-1.0 .config/gtk-3.0 .config/ibus .config/nautilus .config/pulse .config/rclone .config/update-notifier .config/user-dirs.dirs .config/user-dirs.locale ./Desktop ./Documents ./Downloads .gnupg/private-keys-v1.d .gnupg/pubring.kbx .gnupg/trustdb.gpg .local/share .mozilla/extensions .mozilla/firefox .mozilla/systemextensionsdev ./Music ../ec ./Pictures ./Public ./snap ./Templates ./Videos

$ echo */*/
Downloads/sync/ Downloads/testdir/ snap/gnome-calculator/

目的是减少获得输出的命令数量。可以有一个单一的 echo 语句结合 和 的echo .*/输出echo ./*吗echo .*/ */?

echo wildcards
  • 3 个回答
  • 91 Views
Martin Hope
Ryan
Asked: 2020-01-13 10:03:03 +0800 CST

为什么 ll -d */ 会产生额外的正斜杠?

  • 1

该命令ls -d */仅列出目录如下

Desktop/    Downloads/  Pictures/  snap/       Videos/
Documents/  Music/      Public/    Templates/

该命令ll -d */也将结果限制在目录中,但是会附加一个额外的正斜杠。

(ll是 的别名ls -alF)

drwxr-xr-x 2 ec ec 4096 Jan 12 06:39 Desktop//
drwxr-xr-x 2 ec ec 4096 Jan  4 19:54 Documents//
drwxr-xr-x 7 ec ec 4096 Jan 12 21:12 Downloads//
drwxr-xr-x 2 ec ec 4096 Jan  4 19:54 Music//
drwxr-xr-x 2 ec ec 4096 Jan  5 20:47 Pictures//
drwxr-xr-x 2 ec ec 4096 Jan  4 19:54 Public//
drwxr-xr-x 3 ec ec 4096 Jan  5 15:16 snap//
drwxr-xr-x 2 ec ec 4096 Jan  4 19:54 Templates//
drwxr-xr-x 2 ec ec 4096 Jan  4 19:54 Videos//

如果ls -ald */运行该命令,则它不包含额外的正斜杠。

drwxr-xr-x 2 ec ec 4096 Jan 12 06:39 Desktop/
drwxr-xr-x 2 ec ec 4096 Jan  4 19:54 Documents/
drwxr-xr-x 7 ec ec 4096 Jan 12 21:12 Downloads/
drwxr-xr-x 2 ec ec 4096 Jan  4 19:54 Music/
drwxr-xr-x 2 ec ec 4096 Jan  5 20:47 Pictures/
drwxr-xr-x 2 ec ec 4096 Jan  4 19:54 Public/
drwxr-xr-x 3 ec ec 4096 Jan  5 15:16 snap/
drwxr-xr-x 2 ec ec 4096 Jan  4 19:54 Templates/
drwxr-xr-x 2 ec ec 4096 Jan  4 19:54 Videos/

相反ls -alFd */,返回相同的结果ll -d */

根据man ls国旗-F --classify append indicator (one of */=>@|) to entries。

我假设由于 , 设置的附加指示符-F,ll -d */附加了正斜杠,尽管不清楚是否需要或包含附加后缀的价值,即/如果已经存在,为什么需要添加另一个后缀?

其次,有没有办法只列出目录而ll -d */没有额外的/?

ls
  • 2 个回答
  • 221 Views
Martin Hope
Ryan
Asked: 2020-01-06 00:15:47 +0800 CST

为什么连字符 - 在 find 命令的正则表达式中找不到?

  • 7

要识别文件名中带有连字符-的文件,例如test-19.1.txt,find与正则表达式组合的命令似乎不匹配。

该命令find . -maxdepth 1 -regextype posix-egrep -regex '.*/[a-z0-9\-\.]+\.txt' -exec echo {} \;在 bash shell 中运行,并且没有发现这样的文件。如果从文件名中删除连字符,则正则表达式匹配。

使用regexr.com测试时,相同的正则表达式是成功的。

regular-expression find
  • 2 个回答
  • 6792 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