我的理解是:
在file.txt中,找到任何以“a”或“b”开头的字符串,后跟“a”或“b”,后跟任何一个字符(如“abc”),并将其替换为字符串1st,2nd char switched palce,3rd char是x('bax')。命令的语法正确吗?我说得对吗?是的,你说得对-注意,末尾的“g”表示它将在每一行上进行尽可能多的替换。有什么原因你不能试一下看吗?是的,你是-注意,结尾的“g”表示它将在每一行上进行尽可能多的替换。你有什么理由不能试试看吗?除了开头部分,你是对的。这将尽可能多地
标签: Shell
kshbackground-process
我已经编写了一个简单的KShell脚本来启动后台任务
#/bin/ksh
#startMonitoring
./detectFile /usr/local/data/testFile > fileHistory &
我使用以下命令运行它
startMonitoring
当我运行作业时,我没有得到任何结果,但命令正在运行并显示在ps中:
512232 pts/0 0:34/bin/ksh./detectFile/usr/local/data/testFile
为什么我不能在作
我想编写一个shell脚本,循环遍历一个目录下的所有目录,并在每次迭代中使用目录名作为参数调用java程序
因此,我的父目录作为shell脚本的参数提供:例如:
. myShell.sh /myFolder/myDirectory
/myFolder/myDirectory下有100个目录。对于每个目录_i,我要运行:
java myProg directory_i
如果有人可以提供一个工作的shell脚本,这将是完美的 你可以用
sh脚本可能看起来有点像这样,这是一个递归处理目标下所有子
我很高兴在my.bashrc中使用以下代码块完成制表符:
cd () {
command cd "$@";
if [ -f ./Rakefile ]; then
complete -W "$(rake -T | awk 'NR != 1 {print $2}')" rake
else
complete -r rake
fi
}
当我输入带有cd的目录时,将加载此命令。如果目录不包含rakefile,则会显示消息“bash:comp
我正在远程主机上执行一个通过无密码SSH连接的脚本。我想设置一个超时,这样,如果远程主机需要无限长的时间来运行,我想退出ssh会话并继续sh脚本中的其他行
如何设置超时?好吧,您可以使用nohup运行“非阻塞模式”下运行的任何程序。所以你可以继续检查它是否应该运行,运行,或者退出
nohup ./my-script-that-may-take-long-to-finish.sh &
./check-if-previous-script-ran-or-exit.sh
nohup./my-scrip
我在AIX机器上运行以下命令
/usr/java6_64/jre/bin/java -jar myapp.jar
然后,事情看起来很好。JAR文件连接到数据库并执行它需要执行的任何操作
但是我需要把这个命令(加上一些其他命令)放到一个脚本中
因此,我创建了一个名为“script.ksh”的KornShell(ksh)脚本文件来执行上述操作
#!/bin/ksh
/usr/java6_64/jre/bin/java -jar myapp.jar
但它给了我以下例外:
EXCEPTION: T
在使用MongoDB shell时,如何使用guid数据类型(在集合中用作_id)
以下格式不起作用:
>db.person.find({"_id","E3E45566-AFE4-A564-7876-AEFF6745FF"});
谢谢。您必须将_id值与BinData实例(而不是字符串)进行比较。不幸的是,BinData构造函数采用Base64字符串而不是十六进制字符串
您的GUID值末尾缺少两个十六进制数字,因此在本例中,我假设它们是“00”。以下值等效:
十六进制:“E3E45566
在KornShell(ksh)中,我有一个调用脚本列表的脚本。被调用方脚本需要知道其文件名,以便生成唯一的配置(或者任何东西都应该是唯一的)
问题是变量$0始终指向调用方脚本。例如,我们有两个脚本:
caller.sh:
. callee.sh
callee.sh:
echo $0
执行caller.sh时,callee.sh打印“caller.sh”,而不是“callee.sh”。那么,如何获取当前正在运行的脚本的脚本文件名呢
脚本在AIX服务器上运行,因此bash并非始终可用。这是因为您
我有一个问题:
我有一个脚本a,它调用另一个脚本B,但这个脚本B必须在另一个会话中运行,这是一个很容易用setsid在C程序中完成的工作
(),但我找不到等效的shell命令。有一个setsid外壳
命令,但在AIX和其他UNIX中没有此类命令
平台。有谁能给我一些关于如何在AIX和其他UNIX平台上实现这一点的建议吗?谢谢。系统调用存在于FreeBSD和OpenSolaris中,是POSIX.1的一部分。所以我认为它应该存在于任何声称符合POSIX的东西中
AIX完全符合POSIX标准中的“一
我正在编写一个脚本,执行并将所有内容写入文件
举个例子
我将完整的命令存储在变量“command”中
Command = "ftp ftp.xyz.com 21 " & vbCRLF
然后在命令提示符下执行它
shell.Run "%comspec% /c FTP " & Command & " > " & E:/abc.txt, 0, TRUE
但是当这个程序执行时,它不会向文本文件写入任何内容,因为这是一个不完整的命令,这个命令在执行时会提示用户输入
我正在尝试使用bash将文件列表(超过1K)的内容合并到一个大文件中
我尝试了以下cat命令:
cat * >> bigfile.txt
但是,该命令所做的是合并所有内容,包括已合并的内容
e、 g。
file1.txt
content1
file2.txt
content2
file3.txt
content3
file4.txt
content4
bigfile.txt
content1
content2
content3
content2
content3
conte
我有以下文件:
T$57 abc字符串(50.00110.00)
T$97 xyz串(30.00,-1100.00)
我需要将(50.00110.00),(30.00,-1100.00)放入新文件,最后保存变量中x坐标的最大值和y坐标的最小值。在另一个变量中
感谢使用如下所示的awk。坐标保存到另一个名为file2的文件中,包含max和min的变量分别为maxX和minY
$ cat file
T$57 abc string (50.00,110.00)
T$97 xyz string
stop作为一个后台进程,在子shell中运行,因此它设置的ret_code的值与您签入的值不同,并且(应该相同,因为它的值不受sleep命令的影响)。1)第3行的stop.sh是什么?2)能否调整echo语句以包括“1.”、“2.”请包含脚本的输出?@AshBerlin这是另一个实际停止服务的shell脚本。它通常运行良好,因此rc通常为0。但有时它会被卡住,因此这种编写简单的停止/开始的复杂方式process@AshBerlin代码中没有数字,我只是为了可读性在这里添加了数字。我目前还没有访
我试图应用这个逻辑,使用sed替换和重命名
有什么建议吗
#!/bin/bash
find /home/san -type f -name "*'*" > /tmp/output | while read file
do
rename all files by deleting single quote from the name
done
您可以将find与xargs和rename一起使用(如果您的系统安装了util-linux软件包)
使用指定的“sed”,可以使用
我试图将两个字符串传递给while循环,但我忘记了语法,请帮助我。
这就是我正在尝试的-
#!/bin/bash
while read line
do
echo "successful"
done < "var1" "var2"
exit
#/bin/bash
读行时
做
回声“成功”
已完成
我有一个大问题。我的脚本在我的Debian本地虚拟机和Mac OX 10.8上运行良好,但在我的Debian服务器上运行不好…我检查了内核、bash的所有版本…所有版本都是一样的
我的剧本:
#!/bin/bash
# Version 1.0
ipaddr=$1
datel=$(date +"%d/%m/%Y %k:%M")
function valid_ip()
{
local ip=$ipaddr
local stat=1
if [[ $ip =~ ^[0-9]
我有一个要求,在这里,我需要在嵌套的if条件下使用一组特定的值。我试图使用for循环实现它,但无法使用正确的语法
例如
if[“$i”-ge 353]&&&[“$i”-lt 385]
然后
对于((m=7001;m对于for循环,您需要一个额外的do。格式化使其更加清晰:
if [ "$i" -ge 353 ] && [ "$i" -lt 385 ]
then
for((m=7001;m<7016;m++))
do
value=$m
done
背景:
我一直在为我的PHP项目使用Travis CI,我真的很喜欢它们为您提供一个链接,指向显示项目当前构建状态的图片
我目前正在使用UNIX shell脚本制作许多工具,并希望使用Travis CI测试我的UNIX脚本
我在互联网上搜索,试图找到如何实现这一点。我去了主网站,搜索了Stackoverflow,还做了一些谷歌搜索
看来这是不可能的
我目前使用shunit2测试我的shell脚本和函数
我的问题是:
可以使用Travis CI测试shell脚本吗
如果没有的话,我有没有其他方法可
如何使用shell将每行:50K和:53B之间的随机文本替换为贷方
输入是
{:32tyfddf:65 trfdfd :67 ghfdfd :50K:xxxxhh:53B:fg :43:fg $
{:32tyfddf:65 trfdfd :67 ghfdfd :50K:yyyyhh:53B:fg :43:fg $
{:32tyfddf:65 trfdfd :67 ghfdfd :50K:zzzzz:53B:fg :43:fg $
基本表达式:
s/what-to-look\u/what-to-
我需要使用shell脚本从下面显示的单行字符串中解析一行中的所有ip:port值。通过使用awk,cut,sed,我尝试了很多。。。但是没有成功。请帮帮我。这(长)行存储在变量中,而不是文件中
14/03/25 11:53:50 INFO conf.Configuration: dfsdb.properties not found 14/03/25 11:53:50 INFO util.DFSDBUtil: NAMENODEIP--->172.20.6.133:54310 14/03/25
我有一个语法非常简单的文件:
cat /tmp/test
ARCH=""prtconf -b | awk '/^name:/ {print $2}'
我试着让它变绿:
cat /tmp/test | grep "prtconf -b | awk '/^name:/ {print $2"
ARCH=""prtconf -b | awk '/^name:/ {print $2}'
让我们把grep字符串加长一点,在末尾添加}:
cat /tmp/test | grep "prtconf -b
在许多shell脚本中,我看到${1}处于if状态
我无法理解这一点以及它的价值
你能帮我推荐一些关于shell脚本的电子书吗
我是shell脚本的初学者 ${1}将第一个位置参数的长度返回到脚本:
#!/bin/sh
echo $1 ${#1}
美元/立方码
打印:bcde 4${1}替换为脚本的第一个参数的长度。例如,您可以使用它来测试是否指定了参数(在本例中为0)
对于教程,请尝试以下内容:
${1}是由$1
我正在尝试编写一个简单的sh脚本,该脚本必须使用两个参数调用:
sh myscript.sh --user "some user" --fizz "buzz"
在myscript.sh的顶部,我有:
#!/bin/sh
# VALIDATION
# 1. Make sure there are 5 positional arguments (that $4 exists).
die () {
echo >&2 "$@"
exit 1
}
[ "$#" -eq 5
我有一个函数,用于显示已传递父文件夹的子文件夹列表。由于这是shell编程,我们使用pidls:
void ShowChildFolders(PItemIDList parentPidl)
{
HRESULT hr;
//Get ahold of the desktop object, the root of the everything
IShellFolder desktop;
SHGetDesktopFolder(out desktop);
//Get t
大家早上好,我是PowerShell脚本的初学者,我正在尝试制作一个PowerShell脚本。目标是在互联网浏览器中自动安装谷歌搜索引擎。
以下是附加组件的链接:
询问用户是否希望将Google添加为默认web浏览器的Google URL为:
我希望我的脚本能够自动地点击“Gooz Du TEMPS AVEC谷歌。MeTez Z.VoTE MeTurr.ReChCheer-Par Defft”这个问题,它的基本意思是“用谷歌更新您的Web BoSurver。这里是我的脚本的开始。
$pathU
遇到这个问题时,我需要一些帮助
创建一个shell脚本fileType.sh,它接受一个命令行参数,即文件路径(可能是相对的或绝对的)。脚本应该检查该文件并打印一行,其中包含短语
Windows ASCII
如果文件是带有CR/LF行终止符的ASCII文本文件,或
Something else
如果文件是二进制文件或带有“Unix”LF行终止符的ASCII文件
例如:
% ./fileType.sh ~cs252/Assignments/ftpAsst/d3.dat
Windows ASCI
因此,我在.zshrc中有一个函数,用于将当前tmux窗口重命名为当前目录
precmd () {
tmux set-window-option -qg window-status-format "#[fg=colour18 bg=colour18] | #[fg=white, bg=colour18] #I | ${PWD##/*/} #[fg=colour18, bg=colour18] | "
tmux set-window-option -qg window-status
假设我有两个文本文件,两个文件中的每一行都包含由“|”分隔的特定字段。如果我使用第3列对文件进行了排序,那么comm-23 file1.txt file2.txt>difference.txt是否提供file1.txt中存在的行和file2.txt中不存在的行
提前感谢。否,您只能对从行首排序的文件使用comm。
您可以创建一个脚本,对第1列上的文件进行排序,然后使用comm对第3列进行排序 你能试着提出一个比“通信是如何工作的”更清晰的标题,并对你的问题做出一个涵盖所有角落案例的解释吗?我不清
我有一堆这样的文件名:
a-1.001.txt
a-2.234.txt
a-3.765.txt
等等。我希望他们:
a-1.txt
a-2.txt
a-3.txt
这都是在unix中实现的。我一直在尝试“重命名”,但我无法让它与正则表达式一起工作。(我读过有两个版本,我可能有另一个) 假设您知道如何创建循环来迭代所有文件名(或者您将手动执行此操作),并且每个文件的名称都存储在文件中:
mv $FILE ${FILE%%.*}.txt
${parameter%%pattern}习惯用法用于删
我尝试使用shell脚本来自动执行一些ansible临时命令
e、 g
我编写了一个简单的脚本来自动化此类任务:
#!/bin/bash
set -x
ANS_BIN="/usr/bin/ansible"
pattern="app"
remote='echo $HOME'
$ANS_BIN $pattern -m shell -a $remote
当我执行此操作时,无论我尝试了什么,简单的引用总是被误解
./ans2.sh
+ ANS_BIN=/usr/bin/ansible
+
我有一个expect脚本,我想在其中检查uname-a
如果远程服务器是Linux,那么我将使用expect运行更多的远程命令。如果是Aix,那么我将运行其他几组命令。但是,我无法创建if条件。谁能帮帮我吗
expect <<'EOF'
spawn ssh user_name@server "uname -a"
set count 0
expect {
"password:" {
send password\r
exp_continue
}
"Permission denied" {
我的工作电脑每个月都在使用大量的数据。这使我的ISP成本猛增
在命令行中是否有方法列出网络上的所有“设备/对象”,以查看什么在使用我的所有数据
感谢您的高级支持。您可以使用:netstat-e监控网络流量
请阅读本文:
另外,为什么不尝试使用资源监视器呢?它在所有windows计算机上都可用
它会告诉你哪个应用程序使用了多少数据。你可以使用:netstat-e监控你的网络流量
请阅读本文:
另外,为什么不尝试使用资源监视器呢?它在所有windows计算机上都可用
它会告诉你哪个应用程序使用了
是否有可能以非交互方式作为脚本运行扩展IPython(可在交互式控制台中使用,请参见示例)?
我在任何地方都没有找到记录
例如:
#!/magical/ipython/command --that-i-want
from __future__ import print_function
d = !date +%s
!echo $d.s $(($d.s / 1000))
files = !ls -A
for i, f in enumerate(files):
print("File nu
你好,我有下面的原始输出
区块-1
区块2
要合并并创建单行。并附加
预期产量
但是,如果我一次完成所有操作,那么从chunk 2开始的所有以1开头的行,以及chunk-1中的行也将被追加。
所以你想先处理chunk-1,然后再处理chunk-2
假设这是单行:
块1输出
另一行:
3 48 10/100/1000BaseT Premium POE E Series WS-X4748-RJ45V+E CAT1743L2JQ 3 24e9.b335.bfd0 to 24e9.b335
这是我的Dockerfile
# This Dockerfile describes the standard way to build
FROM centos:latest
MAINTAINER praveen
# Run a root to allow "rpm"
USER root
WORKDIR /root/
# Get the ACE-TAO rpm from seachange repo
COPY TAO-1.7.7-0.x86_64.rpm /root/TAO-1.7.7-
在我自己解决Ask Fedora问题的努力中,我一直在尝试确定我的/boot/grub2/grub.cfg文件中字符串Fedora最后一次出现的行号。有没有一种方法可以使用sed、grep、awk或任何其他通用shell(特别是Z shell,如果我使用的是特定的Unix shell)命令来实现这一点?例如,我想要的命令将返回文件的127(即第127行,这是字符串Fedora最后出现的位置)。我将使用这个shell命令来确定这个行号,这样我就可以将它提供给sed(使用一个类似于中的sed命令,因
标签: Shell
shposixlanguage-lawyercommand-substitution
我正在写一个shell,我有点被它搞糊涂了。假设我有命令:
echo "`echo "a\\
b"`"
shell是否应该输出
ab
或
?
换句话说,在命令替换中删除文本转义后,是否再次删除行延续?POSIX规范似乎指定不再删除行延续,但是,我测试的所有shell(bash、dash和busybox的ash)都再次运行行延续删除,导致测试脚本输出ab
脚本说明:
命令替换中的脚本部分未转义,生成:
echo "a\
b"
现在,如果再次运行行继续删除,它将删除反斜杠换行符对,在命令替换中
嗨,请帮我找到唯一的号码。我的文件只有一行数据,如下所示:
53-Brand|5556-Color Family|10984-Fit|10313-Combo
寻找产出
5355561098410313
谢谢
我试过了
awk -F',' '{print $2}' /cat_formula > 1
53-Brand|5556-Color Family|10984-Fit|10313-Combo
awk -F'|' '{print $1}{print $2}{prin
我有以下文本,我想在hi之后搜索cat。它可以在下一行或第三至第四行?如何使用shell命令
你好
猫
狗
你好
狗
猫
奶牛
..
-A 3表示弹簧3线,当找到hi时,这里是grep cat,您可以根据需要定义3
nl a |grep -A 3 hi |sed '' |grep cat
我正在尝试为终端中打开的文件或文件夹编写一个zsh函数
function osub () {
if [[ -z $@ ]]; then
/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl $@
else
/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl .
fi
}
我也试着用1美元。如果仅运行osub命令,我想在sublime中打开
假设jenkins工作区中有一个名为“files”的文件夹,文件夹中有一个名为test.xlsx的文件。在构建作业时,我希望将test.xlsx的内容移动到另一个文件中
我试过:
mv test.xlsx test2.xlsx
但我不知道该把这个命令放在哪里。也不确定命令/路径
mv files/test.xlsx files/test.xlsx
您是否使用管道模型?否作业未使用管道模型您是否收到任何错误?
我正在使用以下命令在子文件夹中查找我的图像
find dk -name '*.jpg' -o -name '*.png' -o -name '*.gif' -o -name '*.jpeg' -type d > dk/files.csv
但是,这将返回子目录和图像文件名。我想只返回图像的目录路径,而不返回文件名
我已经尝试了find-键入d>folders.csv,但这将为我提供所有文件夹的列表,而不仅仅是包含图像的文件夹
find . \( -name '*.jpg' -o -name
我正在从事debian系统的强化工作。我有一个有几行的文本文件。每行以一些制表符结束,下一行从新行开始。我想把每一行都读到文件的结尾。但在while循环中卡住了,它一次循环文件,还循环行。我想在每一行之后停止循环,这样我就可以处理这一行,并在得到该行的结果后转到下一行
我要处理的示例法规遵从性文件
07:45:55 PM Compliance status:Yes 2.1 /tmp partition
07:45:55 PM Compliance status:No 2.5 /var part
我有这个任务
编写一个shell脚本evenparam.sh,该脚本具有偶数个命令行>参数,因此具有语法
evenparam.sh para1 para2[para3 para4]。。。
脚本应该生成一个形式为para1=para2,para3=>para4。。。。
如果程序调用不正确,则在stderr上发出用法消息,并使用返回值>1完成脚本。
而且我脑子里没有任何信息来做这件事
有人能帮我吗?以下演示功能请参阅bash手册manbash,以供参考
#!/bin/bash
(( $#%2=
我有一个备份和回滚,如下所示:
备份
为了确保它成功执行,我引入了一个名为BACKED\u UP的标志,该标志用值0初始化
function backup() {
# used for back up and rollback
FOLDER_DIR="xxxx";
FOLDER_BAK_DIR="xxxx-bak";
if [[ backupCondition ]]; then
printStartMsg "Start to back up the
我有一个带有两个运行时参数的shell脚本。在执行过程中,如果出现任何错误,则需要将其重定向到错误文件并在控制台中执行。此外,错误和输出都需要重定向到日志文件
当前,错误输出被复制到err文件,并显示在控制台中。
但在日志文件中,输出和错误消息会被重定向两次
code
#! /bin/sh
errExit ()
{
errMsg=`cat $1.log >> "$1".err`
cat "$1".err | tee /dev/fd/3
retur
我想从一个父文件夹中执行一个脚本,该文件夹位于多个子目录中,这样在每个文件夹中完成脚本后,它就会进入下一个文件夹。我的问题是,有时我的文件夹是我想要运行脚本的主文件,但它不存在(在文件夹中),或者我有一个文件的名称与我对文件夹施加的条件匹配。那么,我如何使脚本“故障保护”,即使它不会遇到正确的文件,或者如果目录实际上是一个文件,它也会进入下一个目录
到目前为止,我写的东西很简单
#!/bin/bash
for dir in ????Z????; do
cd "$dir" || exit
a
如果我有一个字符串,它是由破折号分隔的单词列表
my-string-looks-like-this
我知道我可以使用cut获得前15个字符,如下所示:
# str=my-string-looks-like-this
echo ${str} | cut -c-15
this-string-is-great
这将返回一个长度为15的字符串my string looks
但是如果我的绳子看起来像这样呢:
# str=my-string-looks-like-this
echo ${str} |
我需要创建一个循环,这样我就可以将两个文本文件中列出的值作为变量使用到curl命令中
例如,假设有一个名为destinations.txt的列表,如下所示:
facebook.com
pinterest.com
instagram.com
还有另一个名为keys.txt的文件,其中包含用于调用每个目标的API密钥,该文件如下所示:
abcdefghij-123
mnopqrstuv-456
qwertyuiop-789
这个循环的想法是提取这些数据,这样我就可以使用来自它们所在行的数据运行3
我需要执行以下操作,首先我可以逐行从文本文件中读取服务器名称,并对其执行grep命令。主要任务是仅使用NB日志路径中的主机名查找整个FQDN服务器名称,并进一步执行其他命令。这是我写的脚本,但我是shell脚本的初学者,需要您的帮助。因为我在想如何将变量的值保存到另一个目录路径并在那里使用它,所以我在这里遗漏了什么?如果我在命令行中手动运行这些命令,它可以提供我所需要的。谢谢大家
#!/bin/sh
echo
echo "Looking for the whole backup cli