标签: unix

rm,cp,mv命令的参数列表太长错误

我在UNIX的目录下有几百个PDF.PDF的名称非常长(大约60个字符).

当我尝试使用以下命令一起删除所有PDF时:

rm -f *.pdf
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

/bin/rm: cannot execute [Argument list too long]
Run Code Online (Sandbox Code Playgroud)

这个错误的解决方案是什么?这个错误是否也出现在命令mvcp命令中?如果是,如何解决这些命令?

unix linux command-line-arguments

584
推荐指数
13
解决办法
53万
查看次数

sed命令在文件中查找和替换并覆盖文件不起作用,它会清空文件

我想通过命令行在HTML文件上运行查找和替换.

我的命令看起来像这样:

sed -e s/STRING_TO_REPLACE/STRING_TO_REPLACE_IT/g index.html > index.html
Run Code Online (Sandbox Code Playgroud)

当我运行它并在之后查看该文件时,它是空的.它删除了我的文件的内容.

当我再次恢复文件后运行它:

sed -e s/STRING_TO_REPLACE/STRING_TO_REPLACE_IT/g index.html
Run Code Online (Sandbox Code Playgroud)

stdout是文件的内容,并且已执行查找和替换.

为什么会这样?

unix shell sed io-redirection

582
推荐指数
9
解决办法
70万
查看次数

如何在Shell Scripting中执行逻辑OR操作

我正在尝试进行简单的条件检查,但它似乎不起作用.

如果$#等于0或大于1那么打个招呼.

我尝试了以下语法但没有成功:

if [ "$#" == 0 -o "$#" > 1 ] ; then
 echo "hello"
fi

if [ "$#" == 0 ] || [ "$#" > 1 ] ; then
 echo "hello"
fi
Run Code Online (Sandbox Code Playgroud)

unix bash if-statement sh

554
推荐指数
7
解决办法
91万
查看次数

Bash工具从文件中获取第n行

这样做是否有"规范"方式?我一直在使用head -n | tail -1哪种技巧,但我一直想知道是否有一个Bash工具专门从文件中提取一行(或一系列行).

"规范"是指一个程序,其主要功能就是这样做.

unix bash shell awk sed

543
推荐指数
14
解决办法
43万
查看次数

如何让cURL不显示进度条?

我正在尝试在脚本中使用cURL并让它显示进度条.

我已经试过了-s,-silent,-S,和-quiet选择,但他们没有工作.

这是我尝试过的典型命令:

curl -s http://google.com > temp.html
Run Code Online (Sandbox Code Playgroud)

我将它推送到文件时只获得进度条,因此curl -s http://google.com没有进度条,但curl -s http://google.com > temp.html确实如此.

unix linux bash scripting curl

518
推荐指数
5
解决办法
29万
查看次数

在管道上使用"tee"时如何将stderr写入文件?

我知道如何使用tee写输出(STDOUT中)aaa.shbbb.out,同时还在终端显示它:

./aaa.sh | tee bbb.out
Run Code Online (Sandbox Code Playgroud)

我现在如何写STDERR一个名为的文件ccc.out,同时还显示它?

unix linux bash

507
推荐指数
10
解决办法
24万
查看次数

如何从Unix上的文本文件中提取预定范围的行?

我有一个~23000行的SQL转储包含几个数据库的数据.我需要提取此文件的某个部分(即单个数据库的数据)并将其放在一个新文件中.我知道我想要的数据的起始行和结束行号.

有没有人知道一个Unix命令(或一系列命令)从第16224和16482行之间的文件中提取所有行,然后将它们重定向到一个新文件?

unix command-line text-processing sed

505
推荐指数
11
解决办法
46万
查看次数

如何在Unix控制台或Mac终端上运行shell脚本?

我知道了,忘了它并重新学习它.是时候把它写下来了.

unix linux macos bash shell

496
推荐指数
5
解决办法
84万
查看次数

如何从命令行中打印XML?

相关:如何在(unix)shell脚本中打印JSON?

是否有(unix)shell脚本以人类可读的形式格式化XML?

基本上,我希望它改变以下内容:

<root><foo a="b">lorem</foo><bar value="ipsum" /></root>
Run Code Online (Sandbox Code Playgroud)

...进入这样的事情:

<root>
    <foo a="b">lorem</foo>
    <bar value="ipsum" />
</root>
Run Code Online (Sandbox Code Playgroud)

xml unix command-line

490
推荐指数
6
解决办法
27万
查看次数

检查环境变量是否在Unix shell脚本中设置的简洁方法是什么?

我有一些Unix shell脚本,我需要在开始做之前检查某些环境变量是否已设置,所以我做了这样的事情:

if [ -z "$STATE" ]; then
    echo "Need to set STATE"
    exit 1
fi  

if [ -z "$DEST" ]; then
    echo "Need to set DEST"
    exit 1
fi
Run Code Online (Sandbox Code Playgroud)

这是很多打字.是否有更优雅的习惯用于检查是否设置了一组环境变量?

编辑:我应该提到这些变量没有有意义的默认值 - 如果有任何未设置,脚本应该出错.

unix bash shell

484
推荐指数
9
解决办法
37万
查看次数