我需要能够在将其输出find到命令之前按字母顺序对输出进行排序。进入| sort |之间不起作用,那我该怎么办?
find folder1 folder2 -name "*.txt" -print0 | xargs -0 myCommand
Run Code Online (Sandbox Code Playgroud) 我已将命令通过管道传输到less,现在我想将命令的输出保存到文件中。我怎么做?
在这种情况下,我不想使用tee,我想直接从less中找到解决方案,这样如果我忘记使用tee.
这个问题类似于这个,唯一的区别是我想保存所有的行,而不是一个子集:Write lines to a file from less
像 Bash 和 Zsh 这样的 Shell 将通配符扩展为参数,与模式匹配的参数数量:
$ echo *.txt
1.txt 2.txt 3.txt
Run Code Online (Sandbox Code Playgroud)
但是如果我只想返回第一场比赛,而不是所有比赛呢?
$ echo *.txt
1.txt
Run Code Online (Sandbox Code Playgroud)
我不介意特定于 shell 的解决方案,但我想要一个适用于文件名中的空格的解决方案。
关于如何在 debian online下截取屏幕截图,有一组非常详细的说明。第一段表明 debian 支持内置的屏幕截图工具:
Run Code Online (Sandbox Code Playgroud)"Print Screen" key to take a screenshot of the whole screen. Alt+"Print Screen" key to take a screenshot of the current active window.

说明暗示当我按下时PrtScn我应该看到这个弹出窗口。但是,我正在运行 Debian Jessie,当我按下时,PrtScn我只听到相机快门声而没有看到弹出窗口。我尝试粘贴到GIMP( edit-> paste) 中,但剪贴板上没有任何内容。
我听到快门声这一事实表明发生了一些事情,但我如何获得图像的副本?
我可以成功挂载ext4分区,问题是分区上的所有文件都归userid为1000的用户所有。在一台机器上,我的userid是1000,但在另一台机器上是1010。我的用户名在两台机器上都是一样的,但我意识到文件系统存储的是用户 ID,而不是用户名。
我可以使用以下内容更正文件所有权:
find /mnt/example -exec chown -h 1010 {} \;
Run Code Online (Sandbox Code Playgroud)
但是当我在另一台机器上安装这个外部驱动器时,我必须再次将文件所有权更正回 1000。
我想要的是给出mount一个选项,说将用户 ID 1000 映射到 1010,这样我就不必实际修改任何文件。有没有办法做到这一点?
如果我运行这样的命令:
find / -inum 12582925
Run Code Online (Sandbox Code Playgroud)
这是否有可能在不同的挂载文件系统(来自不同的分区)上列出两个碰巧分配了相同编号的文件?inode 编号在单个文件系统上还是在所有已挂载的文件系统中是唯一的?
使用grep,我想选择与某个模式匹配但与另一个模式不匹配的所有行。我希望能够使用单个调用,grep以便我可以使用--after-context选项(或--before-context、 或--context)。
-v在这里不可行,因为它否定了我grep使用该-e选项传递的所有模式。
我想寻找行匹配needle,忽略行匹配ignore me,有一行以下上下文。
这是我的输入文件:
one needle ignore me
two
three
four needle
five
Run Code Online (Sandbox Code Playgroud)
我想要的输出是:
four needle
five
Run Code Online (Sandbox Code Playgroud)
如您所见,这个幼稚的解决方案不起作用:
$ cat file | grep --after-context=1 needle | grep -v 'ignore me'
two
---
four needle
five
Run Code Online (Sandbox Code Playgroud) 我想知道如何不仅访问~/.config/user-dirs.dirswith 中定义的变量xdg-user-dir,例如"$(xdg-user-dir VIDEOS)",还访问以下标准变量:
XDG_CACHE_HOME:-$HOME/.cacheXDG_CONFIG_HOME:-$HOME/.configXDG_DATA_HOME:-$HOME/.local/shareXDG_RUNTIME_DIR:-"/run/user/$USER"XDG_CONFIG_DIRS:-/etc/xdgXDG_DATA_DIRS:-/usr/local/share:/usr/share为此,我在我的~/.bash_login文件中执行以下操作:
# Define standard directories.
declare -gx XDG_CACHE_HOME=~/.cache
declare -gx XDG_CONFIG_HOME=~/.config
declare -gx XDG_DATA_HOME=~/.local/share
declare -gx XDG_RUNTIME_DIR="/run/user/$USER"
declare -gx XDG_CONFIG_DIRS="$(IFS=: path /etc/xdg)"
declare -gx XDG_DATA_DIRS="$(IFS=: path /usr/local/share:/usr/share)"
# Source supplementary directories to export or overwrite existing standard ones.
declare a="$XDG_CONFIG_HOME/user-dirs.dirs"
if [[ -e $a ]]; then
source "$a"
declare b=""
for b in ${!XDG_*}; do
if [[ $b =~ ^XDG_[_[:alnum:]]+_DIR$ ]]; then
declare …Run Code Online (Sandbox Code Playgroud) 我正在寻找行为类似于 Perl 的chomp. 我正在寻找一个简单地打印其输入的命令,如果它是换行符,则减去最后一个字符:
$ printf "one\ntwo\n" | COMMAND_IM_LOOKING_FOR ; echo " done"
one
two done
$ printf "one\ntwo" | COMMAND_IM_LOOKING_FOR ; echo " done"
one
two done
Run Code Online (Sandbox Code Playgroud)
(Bash 和 Zsh 中的命令替换会删除所有尾随的新行,但我正在寻找最多删除一个尾随新行的东西。)
bash ×2
shell ×2
debian ×1
etc ×1
ext4 ×1
filesystems ×1
find ×1
freedesktop ×1
gnome ×1
grep ×1
inode ×1
less ×1
mount ×1
newlines ×1
profile ×1
screenshot ×1
shell-script ×1
sort ×1
wildcards ×1
xargs ×1