命令“dpkg”具有选项“-E”或“-skip same version”,以便在已安装相同版本的软件包时不安装该软件包
据我所知,“apt get”并没有任何相似之处
所以我想到了这个:
Installed=`sudo apt-cache policy openjdk-6-jre | sed -n '2p' | cut -c 14-` #6b20-1.9.9-0ubuntu1~10.04.2
Candidate=`sudo apt-cache policy openjdk-6-jre | se
我正在编写一个bash脚本,它利用getopt处理脚本名称后面提供的许多选项
我正在通过油灰接触我的外壳
我用命令调用脚本。scriptname.sh-o——选项(有没有更好的方法来执行bash脚本?)
我希望能够中止/停止脚本,但每当我使用exit时,它不仅会退出脚本,还会关闭terminal/puTTy窗口
…这有点违背了目的,因为我要做的是设置某种帮助文本输出,显示文本,但不执行脚本的其余部分
退出的处理方法是什么?在不关闭任何父控制台窗口的情况下,我应该使用什么来停止/中止脚本?使用退出
我正在使用Bash(cygwin),我想实现一个跨越垂直线的进度指示器。它替换控制台输出,不附加到控制台输出。它需要看起来像一个动画
因此,此输出会随着时间的推移而出现:
迭代1:
---
---
---
迭代2:
*--
---
---
迭代5:
***
*--
---
诀窍是跨越垂直线
如果不跨越垂直线,echo很容易实现。我可以使用\b向后移动空格并覆盖以前的字符:
echo -n -e "\b"
但是如何上移一行并覆盖以前的行呢 使用ANSI转义序列移动光标:
\033[NA
我有matlab文件matlab_param.m
function matlab_param(param1, param2)
disp(sprintf('param1 : %s', param1));
disp(sprintf('param2 : %s', param2));
我想让bash脚本bash_param.sh看起来像
#!/bin/bash
echo $1
echo $2
./matlab_param.m $1 $2
我想运行这个bashscirpt
./bash_param.
当前流程:
我有一个tar.gz文件。(事实上,我有大约2000个,但那是另一个故事)
我创建了一个临时目录,提取了tar.gz文件,显示了100000个小文件(每个大约600字节)
对于每个文件,我将其放入一个处理程序,将该循环导入另一个分析程序,并保存结果
我使用的机器上的临时空间几乎不能同时处理其中一个进程,更不用说默认发送的16个(超线程双四核)。
我正在寻找一种不用保存到磁盘即可完成此过程的方法。我相信使用tar-xf$file-O单独拉取文件会导致性能损失,但这可能是我一直面临的问题
好的,这个问题有两个方面:1)实际的文件操作位2)在unix中循环此操作
第1部分)
我有两个文件:
文件1
a b
c d
e f
g h
和文件2
A B
C D
E F
G H
I J
我希望(首先)得到以下结果:
a b
A B
>
c d
A B
>
e f
A B
>
g h
A B
…并将此输出保存到outfile1
我想我必须使用awk、剪切和/或粘贴之类的东西,但我无法将它们全部放在一起
第2部分)
然后,我想对文件_2中的所有行循环此操作(请注意,文件
以下脚本的输出为空。它少了什么?我在试着编一条线
#!/bin/ksh
file=$abc_def_APP_13.4.5.2
if grep -q abc_def_APP $file; then
echo "File Found"
else
echo "File not Found"
fi
在bash中,使用恶心!使用shell的字符串匹配
if [[ "$file" == *abc_def_APP* ]]; then ...
为什么#!行说ksh?文件的值应该是多少?我
我尝试模拟中提供的解决方案,它查找并终止一个进程,并开发了以下脚本,该脚本通过ssh连接到输入参数中指定的机器列表并终止所需的进程
for node in "$@"; do
ssh $node "kill $(ps aux | grep '[s]omeprocess' | awk '{print $2}')"
done
awk'{print$2}'中使用的变量$2应该是grep[s]omeprocess传递的第二个参数。但是,似乎使用了整个脚本的第二个输入参数(这一部分我错了吗)。我能知道
我可以将参数导入使用curl下载的脚本中,并让脚本将其接受为$1、$2等。。试着让这个世界向你问好
$ curl mysite.com
echo hello $1
$ echo world | curl mysite.com
echo hello $1
$ echo world | $(curl mysite.com)
hello $1
您可以将文本从curl输送到sh
curl http://example.com/ | sh /dev/stdin world
显然,/dev/stdi
我试图在bash脚本中运行sshpass命令,但它不起作用
如果我从终端运行相同的命令,它可以正常工作,但在bash脚本中运行它却不行
#! /bin/bash
sshpass -p 'password' ssh user@host command
我知道安全问题,但现在不重要了
有人能帮忙吗?我错过了什么吗
谢谢1-您可以编写sshpass的ssh命令,如下所示:
#!/bin/bash
export SSHPASS=password
sshpass -e ssh -oBatchMode
正如您所知,shell脚本在脚本顶部有一个“#!/bin/bash”,它将脚本结束为shell二进制,然后shell将运行该脚本。我想做一个程序,它应该被称为“#!/bin/foo”,然后它应该读脚本。但是我不知道我该怎么做这样的事情。有人能帮忙吗?当#/bin/fooshebang运行时,/bin/foo运行,并将文件名作为参数,例如,如果文件名为bar,则将运行的命令行为/bin/foo bar。要在C中实现它,请检查main()的argc(参数计数)是否为1,然后argv的唯一元素将是文件
我想分析日志文件,但在这种情况下卡住了:
例如:
我有一个格式如下的文件:
140508 0:00:19 10 abc def
9 djdj djdjd
12 fjfj fjfjj
140508 0:00:24 10 dhdh dhdh
19 dddh hdhdhd
1838 jcjj ddhfhfh
17
我想创建一个脚本,它将使用4个id标记中的一个来搜索驱动器上的MP3文件。到目前为止,我成功地创建了这样的东西,但它根本不起作用。有人能建议我修什么吗
#!/bin/bash
while getopts ":atbg:" opt; do
case $opt in
a) artist=${OPTARG}
;;
b) album=${OPTARG}
;;
t) title=${OPTARG}
;;
g) genre=${OPTARG}
;;
esac
done
find . -name '
我们需要打印出来
targetID=“123”
AssayID=“456”
A.我们尝试:
printf "awk -F"\""," 'BEGIN{FS=\",\";OFS=\",\";} {print \$1,\$2,\$3,\$4,\$5,\$6,\$7,\$8,\$9,\$10,\$11,\$20,\$12,\$13,\$14,\$15,\$16,\$17,\$18,\$19}' VrtAssay_${TargetIDs}_target_${AssayID}_assay_Detail2_a
大家好
今天,我想知道如何用这个分隔符粘贴几个文件:,
当我使用like时:
paste -d',,' ...
输出仅引入一个,
我需要双逗号,以便更好地处理csv文件,提前感谢您提供的任何线索如果您可以识别文件中未使用的字符,您可以分两步完成此操作
paste -d '~' file1 file2 | sed 's/~/,,/'
显然,如果数据中已经存在波浪线,请使用不同的分隔符。控制角色可能是一个相当安全的赌注,但其代价是操纵起来有点麻烦。(在Bash中,您可以使用例如$'\001'来生
我有一个包含测试失败的大文件。许多这样的测试都有重复的失败。我想删除所有重复项,保留每种类型的一个。以下是该文件的摘录:
034 [power] 34 of 343 check
056 [drive] 666 of 3345
099 [power] 53 of 4354
103 [power] 60 of 4354
231 [cpu] 2 of 653
437 [drive] 65 of 879
862 [speed] 864 of 4397 fast
在此示例中,我希望删除重复项,即附加
我有一个简单的问题
比方说,我有a.txt,b.txt,c.txt。
经过重复的过程后,我希望将结果保存在单独的目录中,如a_result/a_result.txt、b_result/b_result.txt、c_result/c_result.txt
如何使用shell脚本来完成它
谢谢大家! 您可以使用参数扩展的${param%word}形式从输入文件名中删除.txt,并创建相应的目录和输出文件名
for input in a.txt b.txt c.txt; do
stem=${i
我有一个links.txt。我需要这个输出
links.txt:
http://www.google.com/test
https://bing.com/web2
www.yahoo.com/link/link2
output.txt
<a href="http://www.google.com/test" target="_blank">http://www.google.com/test</a>
<a href="https://bing.com/web2"
我正在寻找一种在文件中写入apt get下载的百分比和速度的方法(事实上所有行)
可能吗?
我已经看到了这一点和响应,但我想知道bash中是否有解决方案,或者您是否可以告诉我这种类型输出的名称?谢谢在BroSlow的帮助下,我尝试了以下脚本:
#! /bin/bash
exec >/home/guillaume/work/apt-install-firefox.log 2>&1
unbuffer apt-get install --reinstall firefox
输
尝试将xml数据从多个字符串输出动态提取(数据更改)为列格式
当我对一个SQL数据库运行查询时,大约有100个XML位发出回声
油灰
某人
2014-10-27T11:53:59.8993492-04:00
真的
真的
云服务客户端交付\Willis\Linux\Test-SJC
77e96d52-f165-482f-8389-ffb95b9d8ccd
infullscreen模式
主机名-H-A10D
真的
假的
10.0.0.100
10.0.0.100
IBM437
C24位
不要玩
我试图创建一个简单的bash脚本,以验证哪些修订版的注释中不包含特定的模式
例如:
------------------------------------------------------------------------
r272876 | user | 2014-10-30 11:15:06 +0000 (Qui, 30 Out 2014) | 1 line
PATTERN-17278: My comment.
------------------------------------
我不熟悉unixshell脚本。我有一个小任务,就是根据文件名将文件移动到另一个目录中。
我有一个名为Cars的目录,其中包含.csv文件。我必须读取.csv文件名,并根据文件名将每个文件移动到另一个目录中,如下所示:
BMW_c.csv必须进入BMW/c/目录。
Mercedes_x.csv必须进入Mercedes/x/目录
我试着使用for和if循环,但直到子目录才使用
我非常感谢你的帮助。像这样的事情可能会奏效
for f in *.csv; do
DIR="$( echo ${f%
这个问题很难用一句话来描述,所以如果标题没有抓住我在下面写的内容,请原谅
我有两个文件,第一个文件(file1.txt)包含:
Chr1 1 0
Chr1 2 0
Chr1 3 3
Chr1 4 0
Chr1 5 5
Chr1 6 0
Chr1 7 0
Chr1 8 0
Chr1 9 0
Chr1 10 7
Chr1 11 0
Chr1 12 0
Chr1 13 0
Chr1
我有以下bash脚本:
mumodule a.version
当我运行basha.sh时,它会打印结果:
a_machine:
2
b_machine:
2
c_machine:
1
我想在.sh脚本中检查所有机器的版本:2并打印True,否则为False
有没有办法将结果放入变量并检查此输出
a.sh | grep "^ \+[0-9.]\+$" | grep -qv "^ \+2$" && echo False || echo True
我想得到一年中的某一天,然后减去一,再乘以三。它是在crontab中运行脚本的开关
if (((date(%j) -1) %3))
echo 'hello'
exit()
else
echo hi
fi
这只是为了测试它是否正常工作,但是我得到了
./getdate.sh: line 4: syntax error near unexpected token `fi'
./getdate.sh: line 4: `fi'
这对你们中的一些人来说可能是微不足道的,但我对bash还是很陌生
我希望程序检查脚本是否已启动,如果未启动,则启动它(在终端中和作为根目录中)
谢谢!;-)
QProcess异步运行外部脚本,因此
proc->start(...);
delete proc;
你一开始就杀了它(甚至在之前)。尝试在删除之前添加waitForFinished()
proc->start(...);
proc->waitForFinished();
delete proc;
欢迎来到SO,请展示您的编码努力,SO不是代码编写服务。谢谢!但是,如何检查脚本是否
使用ansible创建chmod+x文件的最佳方式是什么
将以下脚本转换为ansible格式
mv /tmp/metadata.sh /usr/local/bin/meta.sh
chmod +x /usr/local/bin/meta.sh
这就是我到目前为止所拥有的
- name: move /tmp/metadata.sh to /usr/local/bin/metadata.sh
command: mv /tmp/metadata.sh /usr/local/bin/metadat
编写bash脚本的一部分,从下面列出的每条记录中提取描述、VolumeId、SnapshotId和StartTime。目的是按开始时间对记录进行排序,以允许另一个步骤根据此时间删除记录。我需要这些字段来标识某些快照的有效性。您建议我如何从每条记录中提取数据,以便按开始时间进行排序?最后,我需要计算记录并根据时间删除最早的记录,并通过提取快照ID删除记录
示例数据:
"Snapshots": [
{
"Description": "HipChat_30min_Snapsho
假设我有这个输入:
num gene Label start end
n1 g1a1 L1 28 40
n1 g1a1 L2 9 42
n1 g1a1 L2 28 90
n1 g1a1 VE 64 209
n1 g1a1 VE 83 377
n1 g1a1 VR 91 377
n1 g1a1 V 378 1516
n1 g1a1 V 475 1613
n1 g1a1 V 1
我正在尝试运行从一个目录到另一个目录的递归符号链接:
find data/*-type d-exec ln-s{}current/{}\;
还有一点:我需要去掉前缀中的数据/
在OSX服务器(10.8,Mountain Lion)上运行——并非所有标准GNU命令都受支持,如cp-rs
我所说的递归:
data是Laravel版本之间的持久目录列表:
data/
\ storage/
- framework/
- session/
标签: Bash
Macos
file-permissionsrsynctimemachine
我正在实现bash脚本,将我的计时器中的所有备份文件夹重新同步到同一本地网络中的NAS存储。在rsync完成后,我尝试将rsync从NAS重新同步到我的计时器,但失败了。错误消息如下所示:
rsync: delete_file: unlink
"/Volumes/TimeMachine/Backups.backupdb/kongycmac/2017-05-16-
120657/Mac OS/usr/share/man/mann/S3.n" failed: Operati
我的目的是在Jenkins上为所有用户提供devtoolset-4。因此,如果我登录到托管Jenkins的VM,并从命令行执行source/opt/rh/devtoolset-4/enable,一切都正常
因此,我的想法是将这句话包含在/etc/bashrc中,但是我在Jenkins中得到了这个错误:
+++ source /opt/rh/devtoolset-4/enable
++++ test -e /opt/rh/rh-java-common/enable
++++ . scl_sourc
此命令有以下输出:
netstat -ant |grep LISTEN | awk '{ print $4 }'
0.0.0.0:111
192.168.122.1:53
0.0.0.0:22
127.0.0.1:631
127.0.0.1:25
:::111
:::22
::1:631
::1:25
如何仅从输出中提取最后的端口号?请使用awk尝试此方法,如果有帮助,请告诉我
netstat -ant | awk '/LISTEN/{sub(/.[^:]*/,"");gsub(/:| .*
我有一个包含重复条目的大文本文件,因此我使用以下命令对输出文件进行排序并仅保留唯一条目:
sort -u bigfile.txt > uniqueentry.txt
我想对我尝试使用-c的所有唯一条目进行计数,如下所示:
sort -u -c bigfile.txt > uniqueentry.txt
没用,有人能帮我吗?谢谢你想要什么还不清楚
如果要计算唯一项的总数,可以按如下方式进行:
sort -u bigfile.txt | wc -l
如果要计算原始文件中每个唯一条目
我是正则表达式范例的新手,我遇到了一个我正试图解决的问题,但没有成功
设想一个文件test.txt包含:
hello everyone, whatsi up
i hope my program worksa
if it doesnt... ho well!
我只想将以辅音开头、以元音结尾的单词输出到另一个文件output.txt,这样会导致:
hello whatsi
hope worksa
ho
我正在使用grep-o'\b[^aeiouAEIOU]\w*[aeiouAEIOU]\b'te
我有以PDB ID命名的PDB文件,例如2KRJ.PDB。我只想从它们中提取以ATOM或hetam开头的行,然后将它们复制到一个具有相同名称和.txt扩展名的新文件中,例如2KRJ.txt
我知道如何提取这些行,但复制到另一个文件时遇到问题
这是我到目前为止为提取而编写的脚本:
#!/usr/bin/perl -w
$dirname = '.';
opendir(DIR, $dirname) or die "cannot open directory";
@files = grep(/\.pd
我正在尝试编写一个脚本来压缩一些文件。但是,在某些文件中,我需要更新依赖项的路径
当前用于压缩文件的脚本如下所示
#!/bin/sh
for APP in "${APPS[@]}"
do
cd app/${APP}
npm install
zip -r ../../test.zip node_modules
zip -uj ../../test.zip src/*.js
cd ../../
zip -uj test.zip app/utils/*.js
done
在
仅当我不想替换的行的一部分包含子字符串列表中的一个时,如何在sed中运行替换
例如,在以下示例输入中,用于标记我要替换的行的子字符串是123、456和abc:
# jdggsdihdf, 123
# ljhkhkjh, 789
# fagdfhgghjasfa, 456
# jsajspjsdighishxc, abc
# jgasdjGA, def
因此,仅应修改这些管路,且应保留带有789或def的管路:
Replaced text, 123
# ljhkhkjh, 789
Replace
我制作了一个bash脚本,将nmap命令的结果插入数组。该脚本在Bash4.3.30上运行,但当我尝试在Bash4.4.12上运行它时,它不起作用。看起来数组是空的,或者它只有第一个值
这是我的密码:
#!/bin/bash
declare -a IP_ARRAY
NMAP_OUTPUT=`nmap -sL $1 | grep "Nmap scan report" | awk '{print $NF}'`
read -a IP_ARRAY <<< $NMAP_OUTPUT
pr
我正在尝试编写一个bash脚本来创建文件夹并安装软件。安装软件需要超级用户权限,但无法作为超级用户创建文件夹
下面是脚本的一个示例:
#!/bin/bash/
cd ~
mkdir Documents
pacman -S firefox
有人知道如何克服此冲突吗?您可以在脚本中仅使用pacman命令作为root用户运行整个脚本,而不是以root用户身份运行:
#!/bin/bash
mkdir ~/Documents
sudo pacman -S firefox
这样,将在用户的主目录中创建
在这里,我的目标是让第9行将数组中的值设置为null/从数组中删除它,从而得到=。然而,就代码本身而言,由于${movelist[$movecheck]}会产生一个变量c*1,当将其声明为null时,它会抛出c41=command not found。我尝试使用eval&declare:eval-declare${movelist[$movecheck]}=,但是使用它,它没有从数组中删除值,而是更改了实际变量。因此,上面示例代码的结果应该是movelist数组的末尾包含c21 c41。干杯。使
我希望在.bash_配置文件中有这样一个函数:
function usb() {
cd `pwd`
}
但当我运行它时,它不会进入当前目录,而是进入我的主目录。我试着用几种不同的方法引用back tics,但无法理解。如果不了解为什么要编写此函数,它应该是这样的
usb () {
cd "$(pwd)"
}
usb(){`pwd`;}可以工作,但是$(…)通常比`…cd更受欢迎?也许cd$PWD。。。但你为什么要这么做?如果你想引用它们(同样,我也不明白为什么),单引号可以很
我有个问题
a=1
b=2
我希望将比较输出转换为变量。ie在windows语言中,您可以编写类似的内容。它应该打印false
print ($a == $b)
在控制台中尝试下面这些
echo $a -eq $b
echo (( $a -eq $b ))
echo "$a" -eq "$b"
c= $(expr "$a" -eq "$b" )
echo $c
请注意,bash本机不支持bool类型运算符。根据shell的成功/失败状态,所有命令/内置程序都会向shell返回退出代码。
我有一个A_1文件夹、一个A_2文件夹、一个A_3文件夹……直到A_561文件夹
每个文件夹都有一个子目录,其中包含一个B_1、一个B_2、一个B_3。。。还有一个B_34文件夹
在B_1文件夹中,有名为F_1_1.txt、F_1_2.txt的文件。。。F_1_38.txt。F_2_1.txt,F_2_1.txt。。。F_2_38.txt
在B_2文件夹中,有名为F_1_1.txt、F_1_2.txt的文件。。。F_1_38.txt。F_2_1.txt,F_2_1.txt。。。F_2_38.tx
我的bashrc文件中有这个简单的函数
功能升级{
cat~/.bash\u别名>~/bash/.bash\u别名
cd~/bash
git添加。
如果[[$1==”“];则
git提交-m“更新”
其他的
git提交-m“$1”
fi
git推送源主机
cd-1>/dev/null
}
此函数有一个目的,这是预期的行为:
首先,将bash存储库中.bash_别名文件的内容替换为cat~/.bash_别名的标准值
第二步,进入git对应的~/bash目录
第三阶段,阶段所有更改
Fourth,
我的目标是通过识别变量名和使用sed来替换某些变量的值
但是,我没有得到所需的输出,值不是被替换,而是被附加
输入文件内容:
export TENANT_NAME=xxxx
export WONDER_VALUE=xxx_xxx_xxxx_xxxx
export LOAD_BALANCERS=xxxx_xx
Bash脚本:
#!/bin/bash
sed "s/${1}=*/${1}=${2}/" input.env >> input.env
#!/bin/bash
sed
我试图在bash中比较转换为日期的字符串和文件创建时间
#!/bin/bash
test='2020-05-13 08:00'
testConverted=$(date -d "$test" +'%Y %m %d %H:%M')
[ "~/fileToCompare" -nt "$testConverted" ] && echo "yes"
无论我放在哪个测试日期,它总是返回false。日期转换错误吗?可以这样做吗?方法是使用date命令将日期字符串转换为Unix历元时间(自
我正在使用这个bash脚本对IP列表运行Nmap NSE脚本,它工作正常:
#!/bin/bash
while read server; do
nmap --script smb-vuln-* "$server" |
sed -n "/$server/p;/VULNERABLE:/{n;p;}"
done <windows-servers.txt
但我想做的是根据如下结果附加输出:
192.168.52.27 - NOT vuln
我有这个输入文件
gb|KY798440.1|
gb|KY842329.1|
MG082893.1
MG173246.1
我想得到“|”之间的所有字符,或者如果没有“|”的话,得到整行之间的所有字符。这是一个期望的输出,看起来像
KY798440.1
KY842329.1
MG082893.1
MG173246.1
我写道:
while IFS= read -r line; do
if [[ $line == *\|* ]] ; then
sed 's/.*\|\(.*\)\
我已经使用Deno为我的更通用的项目构建了一个CLI工具。它很有用,做我需要它做的事情。然而,我正在研究如何使用Deno实现类似于npm安装-g的功能
我知道我可以用bash脚本轻松创建一个~/.myDeno,并添加导出路径=$PATH:~/.myDeno,但我想知道是否有一个正确的过程可以使用Deno实现这一点。因为到目前为止我还找不到它。对于其他任何人deno安装将它安装在主目录中的.deno文件夹中,并提供需要添加到bash配置文件的路径修改。您可以使用deno安装或deno编译从deno
1 2 3 4 5 6 ...
下一页 最后一页 共 899 页