小编gle*_*man的帖子

如何从unix或solaris中的文件中删除包含字符串的行

我有myfile如下

test1    
test2    
test3    
test4    
test5
Run Code Online (Sandbox Code Playgroud)

我想删除包含test2的行,所以我使用了如下命令,但不是只删除'test2'行,而是删除整个文件,fize-size变为零.

bash# cat /aaa/bbb/ccc/myfile | sed -e '/test2/ d'  > /aaa/bbb/ccc/myfile     
bash# ls -l total 0    
-rw-r--r--   1 root     root           0  3? 11 17:41 myfile
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议,命令错了吗?

unix shell solaris sed

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

命令或代码在同一时间运行两个进程(并行)

我有两个过程:

第一个过程,我运行:./ Vlc视频>> resu.txt它给我一个输出文件resu.txt

第二个进程是一个脚本,它对文件resu.txt进行计算.这个脚本的名称是calcule.sh,我运行它:/ Calcul.sh

我想同时运行两个进程.即具有两个并行的过程.

我如何并行运行两个进程(./ Vlc视频>> resu.txt和./ Calcul.s).有没有这样做的命令?拜托,你能给我一个能做到这一点的代码

提前感谢您的回答.

parallel-processing bash shell

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

bash中的对话框没有正确获取变量

我对这个脚本的一致性有点问题.您可以运行一次,没有任何问题.但是,如果您立即将其重新加载并再次运行,则它不会正确获取变量,因为输出未以正确的方式写入文件.

例如:此实用程序旨在实质上更新4个文件..temp,.tiers,.version和.sync在通过对话框提示的各个阶段,它会更新文件.我的问题是,有时它没有更新文件,我找不到任何原因,因为它只是在你已经运行一次之后.我在启动时擦除文件,所以我不确定这笔交易是什么.它就像它只是从记忆中抓取它?

无论如何,为了测试这个,你需要/ test中的以下文件

感谢任何能给我一些指导的人.

cat .tiers
Stable=1
Release=2
Beta=3
Run Code Online (Sandbox Code Playgroud)

码:

#!/usr/bin/env bash
touch .version
touch .temp
VERSION=`cat .version`
DIR=/test/
STORED=`cat ${DIR}/.temp`
################################
#     REARRANGE TIERS          #
################################
rearrange()
{
start
end
}


################################
#     SYNC FILE EXISTS         #
################################
sync_exists()
{
dialog --msgbox ".sync exists in the directory $(echo ${VERSION}).\n\n Use Tier Move                 instead." 10 40
clean_up
exit 1;
}


################################
#         CLEAN UP             #
################################
clean_up()
{
rm -rf .version
rm -rf .update
rm -rf .temp
}

################################ …
Run Code Online (Sandbox Code Playgroud)

linux bash dialog sed find

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

Cut和Awk命令:分隔符行为

我尝试使用cut命令从"ls -l"命令输出中获取文件名及其大小的列表.

$ ls -l | cut -f 5,9 -d " "
Run Code Online (Sandbox Code Playgroud)

它给出了基于'SINGLE WHITE SPACE'作为分隔符的输出.当"ls -l"输出在某些行中包含连续的空格时,该命令的输出不适合这些行.只有一个空格作为列分隔符的行给出正确的输出.

当我运行以下命令时:

$ ls -l | awk '{ print $5"\t"$9 }'
Run Code Online (Sandbox Code Playgroud)

awk忽略多个空格并从"ls -l"输出中正确提取列.虽然,cut将每个空格视为分隔符,但是将值放在错误的列中.

它为所有行提供正确的输出.

为什么会这样?使用cut命令可以做些什么来解决这个问题?

linux awk

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

TCL在字符串中设置特殊字符

我想在TCL中将以下错误消息设置为变量,并与来自网络交换机的错误消息进行比较,绕过特殊字符

使用[slot/port]或["portname"]或[slot/*]或[*].

我试过这种方式

set x "Use \[slot/port] or \["portname"] or \[slot/\*] or \[\*]."
Run Code Online (Sandbox Code Playgroud)

但我在运行脚本时收到以下消息:

执行后关闭引用后的额外字符

请帮忙.谢谢!

tcl

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

bash while while循环"吃"我的空格字符

我试图解析一个巨大的文本文件,比如200mb.

文本文件包含一些字符串

123
1234
12345
12345
Run Code Online (Sandbox Code Playgroud)

所以我的剧本看起来像

while read line ; do
echo "$line"
done <textfile
Run Code Online (Sandbox Code Playgroud)

但是使用上面的方法,我的字符串" 12345"被截断为"12345"

我试过用

sed -n "$i"p textfile
Run Code Online (Sandbox Code Playgroud)

但吞吐量从每秒27线减少到0.2线,这是不可接受的;-)

任何想法如何解决这个问题?

bash sed while-loop

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

在期望脚本中从用户读取变量

下面是我的脚本:

#!/usr/bin/expect
echo "enter unique id" 
read test
mkdir -p  /evoting_test/$test
        spawn scp -r abc@10.150.10.104:/shareddata/was/l1/*.pdf /rishabh/$test/
        set pass "abc123"
        expect {
                password: {send "$pass\r"; exp_continue}
                }
Run Code Online (Sandbox Code Playgroud)

我收到错误:

invalid command name "echo"
    while executing
"echo "enter uNIQUE id" "
    (file "./scp_test.sh" line 2)
Run Code Online (Sandbox Code Playgroud)

它不是从用户读取变量并在命令中使用该变量

expect

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

使用Shell脚本将JSON文件发布到URL

我正在编写一个shell脚本来将JSON文件发布到URL.

标题是:

Content-Type: application/json
Accept: application/json
Account-Number: xxxxxxxx
Authorization: Basic eW91cl91c2VyX25hbWU6cGFzc3dvcmQ=
Run Code Online (Sandbox Code Playgroud)

上面的JSON字符串保存在.JSON文件中,我的curl命令应该处理它并获得所需的响应.我使用以下命令但它没有成功处理:

curl -H "Content-Type: application/json" -X POST -d "data=@$f" https://abcdef.com/test/example/v1/
Run Code Online (Sandbox Code Playgroud)

$ f具有JSON文件名.

我也有以下问题:

  1. 我的标题和JSON字符串应该在同一个JSON文件中吗?如果标题存在于不同的文件中,那么它的扩展名应该是什么?以及如何使用curl命令处理它?
  2. 我应该为{,",等等特殊字符做些具体处理吗?

bash shell json curl

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

如何从DOS提示符将Perl脚本的输出转换为文件?

我在命令窗口中通过Perl脚本生成一个大型XML文档,但是,目前它正在将文档打印到标准输出.Perl脚本修饰符没有允许写入文件的开关,所以我很好奇如何通过基本命令shell获取输入字符串并写入文件.

我目前的运作顺序:

perl dtd2xsd.pl someBigSchema.dtd

以上内容返回了请求的XSD内容,我只是坚持将其转换为文件.

command-line dos

0
推荐指数
1
解决办法
501
查看次数

Shell脚本帮助!循环目录下的目录

我想编写一个shell脚本,它遍历目录下的所有目录,并在每次迭代时调用一个目录名作为参数的java程序.

所以我的父目录是作为shell脚本的参数提供的:例如:

. myShell.sh  /myFolder/myDirectory
Run Code Online (Sandbox Code Playgroud)

下面有100个目录/myFolder/myDirectory.对于每个"directory_i",我想运行:

java myProg directory_i
Run Code Online (Sandbox Code Playgroud)

如果有人能为我提供一个完美的工作shell脚本!

shell

0
推荐指数
1
解决办法
5443
查看次数

使用命令行创建HTML文件

我正在尝试使用命令行创建HTML文件,但是有一个问题.我需要引号否则回声不起作用.但现在引号也显示在HTML页面上.这是我的代码:

FindStr "BUILD SUCCESSFUL" test1.txt

echo "<html><body><table><tr><td>Plugin</td><td>Resultaten</td></tr>" > goedje.html

if %ERRORLEVEL% ==1 (echo "<tr BGCOLOR="#FF0000"><td>Build</td><td>Fout!</td></tr>" >> goedje.html ) else (echo "<tr BGCOLOR="#00FF00"><td>Build</td><td>Gelukt!</td></tr>" >> goedje.html) 

echo "</table></body></html>" >> goedje.html
Run Code Online (Sandbox Code Playgroud)

如果我在没有引号的情况下这样做,那么程序就不会运行了!

command-line windows-7

0
推荐指数
1
解决办法
6802
查看次数

Python期望缩进错误

它说预期缩进无法弄清楚如何解决它.

这是我的问题在闲置它的图片说我有一个预期的缩进错误,无法弄清楚该做什么.

python indentation

0
推荐指数
1
解决办法
556
查看次数

Bash无法设置环境变量

我的crontab中有这个:

* * * * * cd /etc && . ./cron.sh>>cron.log
Run Code Online (Sandbox Code Playgroud)

在我的cron.sh(可执行文件)中,我具有:

#!/bin/sh

echo "hello world"
export MyVar="abcd"
Run Code Online (Sandbox Code Playgroud)

它既可以通过cron手动运行,也可以手动运行,但是只有在使用以下命令手动运行时,才设置环境变量:

. ./cron.sh
Run Code Online (Sandbox Code Playgroud)

谁能帮忙。我知道它与源有关,但我无法弄清楚。

这也不起作用:

* * * * * cd /etc && sh ./cron.sh>>cron.log
Run Code Online (Sandbox Code Playgroud)

linux bash shell

0
推荐指数
1
解决办法
83
查看次数