小编dan*_*dan的帖子

如何使用`find`并按mtime对结果进行排序?

我想使用find但与ls -ltr. 这是否可以通过标志或管道的任何组合来实现?

ls find

94
推荐指数
2
解决办法
10万
查看次数

bash 脚本如何检测它是否在后台运行?

有没有办法让 bash 脚本知道它是在前台还是后台运行,因此在每种情况下它的行为都会略有不同?

shell bash

32
推荐指数
1
解决办法
9340
查看次数

对于文件名,下划线或破折号在 Unix 文件名中更常见吗?

当你给文件命名中包含多个单词时,在 Unix 系统中使用下划线、驼峰式大小写或破折号来分隔单词是否更常见?

filenames files

31
推荐指数
1
解决办法
1万
查看次数

如何确保插入到`sed` 替换中的字符串会转义所有元字符

我有一个脚本,它读取文本流并生成一个 sed 命令文件,该文件稍后使用sed -f. 生成的 sed 命令如下:

s/cid:image002\.gif@01CC3D46\.926E77E0/https:\/\/mysite.com\/files\/1922/g
s/cid:image003\.gif@01CC3D46\.926E77E0/https:\/\/mysite.com\/files\/1923/g
s/cid:image004\.jpg@01CC3D46\.926E77E0/https:\/\/mysite.com\/files\/1924/g
Run Code Online (Sandbox Code Playgroud)

假设生成sed命令的脚本类似于:

while read cid fileid
do
    cidpat="$(echo $cid | sed -e s/\\./\\\\./g)"
    echo 's/'"$cidpat"'/https:\/\/mysite.com\/files\/'"$fileid"'/g' >> sedscr
done
Run Code Online (Sandbox Code Playgroud)

如何改进脚本以确保cid字符串中的所有正则表达式元字符都被正确转义和插入?

sed quoting

25
推荐指数
1
解决办法
6104
查看次数

为什么不带引号的通配符可以与 scp 一起远程工作?

我在 Bash 中输入:

scp user@remote:~/dir/*.xml .
Run Code Online (Sandbox Code Playgroud)

它可以工作,获取在远程服务器上生成通配符的所有文件。但为什么这样做呢?我认为 Bash 在参数对像scp.

shell bash wildcards

24
推荐指数
1
解决办法
1999
查看次数

`grep -l .. | xargs vim` 产生警告,为什么?

如果我运行一个命令

grep -rl test . | xargs vim
Run Code Online (Sandbox Code Playgroud)

我收到警告“Vim:警告:输入不是来自终端。” 但我仍然能够编辑文件。为什么会有警告?

vim xargs

18
推荐指数
2
解决办法
5487
查看次数

为什么单位分隔符 (ASCII 31) 在终端输出中不可见?

单位分隔符 ASCII 字符(ASCII 31,八进制 37)在 Vim 中显示为^_. 但是如果我将相同的文件打印到终端,则该字符是不可见的。这会导致一行上的字段粘在一起:

# In Vim and less:

first field^_second field^_last field

# cat the same file to terminal:
cat delim.txt
first fieldsecond fieldlast field

# print 2nd field with awk 
cat delim.txt | awk 'BEGIN {FS = "\037"} {print $2}'
second field
Run Code Online (Sandbox Code Playgroud)

我想我可以使用 cat -v 使单位分隔符可见:

cat -v delim.txt
first field^_second field^_last field
Run Code Online (Sandbox Code Playgroud)

但这比较麻烦。为什么在 Bash shell 中打印到标准输出时,单位分隔符没有可见的表示?我什至无法正确复制和粘贴 shell 输出;单元分离器在此过程中丢失。

terminal ascii

18
推荐指数
2
解决办法
3万
查看次数

如何将进程移入后台并使其输出静音?

假设我在终端中启动了一个进程,它在运行时将输出发送到标准错误。我想将进程移到后台并同时使其静音。

有没有办法在不停止进程并使用&and重新启动它的情况下做到这一点> /dev/null 2>&1?我想知道是否有一些命令可以执行bg 并且也可以更改目标进程的输出描述符。

job-control

11
推荐指数
2
解决办法
8561
查看次数

除了紧急情况和批量编辑之外,`ed` 编辑器是否还有其他用途?

我想知道ed编辑器对于交互式编辑是否不再有用。我知道该diff命令可以将补丁作为ed脚本生成,这ed是波特率超慢时的最后手段。但是还有其他学习和使用的理由ed吗?

editors ed

9
推荐指数
1
解决办法
989
查看次数

存在垂直分割时,Tmux 输出较慢:为什么?

当我使用 Tmux 并将窗口拆分为窗格时,我注意到程序在垂直拆分(两个窗格并排)时打印出文本行的速度比水平拆分(窗格堆叠)时慢得多。有谁知道为什么?

terminal tmux console

8
推荐指数
1
解决办法
5797
查看次数

标签 统计

bash ×2

shell ×2

terminal ×2

ascii ×1

console ×1

ed ×1

editors ×1

filenames ×1

files ×1

find ×1

job-control ×1

ls ×1

quoting ×1

sed ×1

tmux ×1

vim ×1

wildcards ×1

xargs ×1