我有一个名为“week1”的文件夹,在该文件夹中还有大约十个其他文件夹,都包含多个文件,包括一个名为“submit.pdf”的文件夹。我希望能够将所有“submit.pdf”文件复制到一个文件夹中,理想情况下使用终端来加快流程。我尝试了cp-week1/*/submit.pdf-week1/以及cp-week1/*/*.pdf-week1/,但它只复制了一个文件。我刚刚意识到它每次都在写每个文件,这就是为什么我一直在写一个…有什么方法可以防止这种情况发生吗?find去救援!经验法则:如果您可以使
我正在使用Solaris5.10,并正在使用bashshell。我有一个shell脚本,其中以下语句不起作用
ssh 172.18.16.55 "df -h" |grep -w /data1
当我将/data1替换为data1(即删除“/”)时,它工作正常
我有另一个声明,如下所示,工作正常
ssh 172.18.16.55 "df -h" |grep -w /dev/dsk/c1t0d0s0
根据我的理解,shell脚本无法识别第一次出现的“/”(正斜杠)。我想知道shell脚本中“/”的
所以我有一个非常简单的shell脚本,它在个人计算机的主机文件中输入IP地址和域名。“仅供开发使用!”它工作正常,只需输入IP地址和域名,如下所示
192.168.53.215dev.env.os
192.168.53.215dev.source.os
我希望它像这样输入:
192.168.53.215 dev.env.os
192.168.53.215 dev.source.os
所以基本上我希望它在IP地址和域名之间增加空间,不幸的是,我真的搞不清楚。任何帮助将不胜感激,这是一个简单的脚本,
这似乎应该很简单,但我一直在试图找到一种方法来表达搜索的答案,这让我发疯
非常简单,我有一个文件结构为三列,包括名称、路径和模式。在遍历这些行的同时,我想将它们中的每一个提取到自己的变量中以供使用
我目前的解决方案是(请原谅打字错误):
读取行时
做
名称=$(回显“$line”| awk'{print$1}')
路径=$(回显“$line”| awk'{print$2}')
模式=$(回显“$line”| awk'{print$3}')
完成
我有两个文件:file1和file2
文件1:
1,0,0
2,1,2
文件2:
abc gdksjhkjhfkdjfljdkjldk jkm kl;lll (sds; dks; id:1;)
zxc erefdjhfkdjfljdkjldk erewr jkm kl;lll (sds; dks; id:2;)
abc gdksjhkjhfkdjfljdkjldk jkm kl;lll (sds; dks; id:1;)
zxc erefdjhfkdjfljdkjldk erewr jk
我知道我们可以使用以下命令发送简单的电子邮件
echo "Welcome" | name@youremail.com
但是我想使用nohup命令中的信息,就像我使用的jmeter一样,它为我提供了测试的摘要,比如总共发出了多少个请求,通过了多少个请求,失败了多少个请求等等。所以我想通过使用该输出发送电子邮件。电子邮件应该如下所示:
subject:
Msg : Test Type:
Total Request:
Passed :
Failed:
我是使用命令行实用程序的新手,我想知道如何处理以下信息:
mapping.txt:
80 001 002
81 011 012 013 014
82 021 022
...
81 103823044
80 103823054
81 103823064
...
103823044|011|
103823044|012|
103823044|013|
103823044|014|
103823054|001|
103823054|002|
103823064|011|
1038230
我有下面的场景
有两个文件-sample.war和sample1.48.war
现在,我只需要剪切第一个文件的第一个字段。i、 例如,“样本”。[我用简单的剪切命令完成了这一步]
接下来,我要计算“sample”中的文本总数,并只剪切文件2中的那些字符(sample1.48.war)
如果这两个字符匹配,则执行一些操作&如果不匹配,则执行其他操作
还有什么我们可以做的吗?试试这个
#!/usr/bin/ksh
我想知道我在我的鱼壳中运行的命令最多。有没有办法从历史中提炼出这一点
作为比较,这里是。抱歉,fish不跟踪此信息。您的历史记录由MRU排序,但它不跟踪总使用计数。在您报告的问题得到解决之前,这似乎有点像bash方式。我希望这是Fish-through的一个实际功能,可以选择history命令
history | awk'{print$1}排序| uniq--count | sort--numeric sort--reverse | head-10
517 git
314 drush
197 s
我用的是鱼壳。当我键入Ctrl-D时,它会向我的终端发送一个EOF,然后终端关闭
我想让ctrl-D不会关闭我的iterm2
我看到人们在bash shell中设置IgnoreOf如下:
然而,我不认为这个变量存在于鱼类中。有人知道我如何强制iterm2(使用默认的鱼壳)在ctrl-D上不关闭吗?这是control-D的默认键绑定:
bind \cd delete-or-exit
您可以通过运行bind找到这一点
(删除或退出只是一个函数,您可以使用函数删除或退出读取该函数)
所以它退出是因为
标签: Shell
waitchainingqsub
我对shell脚本非常陌生,我正在尝试编写一个shell管道,它提交多个qsub作业,但在这些qsub之间要运行几个命令,这些命令取决于最近完成的作业。我一直在研究多种方法,试图在提交qsub作业后阻止shell脚本继续运行,但都没有成功
我可以提供最简单的代码块来说明这个问题,如下所示:
THREADS=`wc -l < list1.txt`
qsub -V -t 1-$THREADS firstjob.sh
echo "firstjob.sh completed"
2) 将作业设置为
我想检查我的VPN是否连接到特定国家/地区。VPN客户端有一个状态选项,但有时它不会返回正确的国家,因此我编写了一个脚本来检查我是否连接到瑞典。我的脚本如下所示:
#!/bin/bash
country=Sweden
service=expressvpn
while true; do
if ((curl -s https://www.iplocation.net/find-ip-address | grep $country | grep -v "grep" | wc -l) &g
这两者之间的区别是什么:
cat/etc/passwd
及
ypcat密码
??到底是什么
为什么我会得到这个:
ypcat:无法获取本地yp域:未设置本地域名
跑步时
ypcat密码
cat命令用于连接和显示给定文件的内容
另一方面,ypcat
打印出使用MapName参数指定的网络信息服务(NIS)映射。您可以指定地图名称或地图昵称。因为ypcat命令使用NIS服务,所以不需要指定服务器
尼斯在哪里
网络信息服务或NIS(最初称为黄页或YP)是一种客户机-服务器目录服务协议,用于在计算机网络
想象一下这样一条路:
/a/b/c/d/e/…
其中,…可以是任何深度的级别,也就是说,我提前不知道是否会有2级、3级或13级更深
如何使用FreeBSD shell(例如,/bin/sh)提取此路径的前“N”部分?e、 例如,前4个级别,这样我就可以得到/a/b/c/d?您可以使用cut:
s='/a/b/c/d/e/f/g/h/i/j/k'
echo "$s" | cut -d/ -f1-5
/a/b/c/d
或者,如果您使用的是BASH,则可以使用shell数组:
IFS=/ arr=(
我有一个文件如下
1 rob hr 10000
2 charls it 20000
4 kk Fin 30000
5 km it 30000
6 kl it 30000
7 mark hr 10000
8 kc it 30000
9 dc fin 40000
10 mn hr 40000
3 abi it 20000
其中第4列包含第2列中个人的工资。我想得到所有记录与第二高工资(或第n高工资一般)。
样本输出:
4 kk Fin 30000
5 km it 30
需要打印以下示例中的最后一个目录。目录结构如下所示:
“/home/user/example/bar”
“/home/user/example/backup/foo”
“/home/user/example/bar1”
“/home/user/example/backup/tmp/bar2”
“/home/user/example/bar3”
“/home/user/example/bar4”
只有当我的完整目录路径包含“example”目录时,我才需要将最后一个目录(bar、foo、bar
所以我有一个docker图像,包含一个minecraft服务器。minecraft服务器从STDIN获取输入,因此在使用java-jar server.jar启动服务器后,我可以通过在控制台中键入命令来向其发送命令(例如停止服务器)
理想情况下,我希望在shell脚本中启动服务器,该脚本看起来如下:
#!/bin/sh
.. some initialization ..
exec java -Xmx$RAM -Xms$RAM -jar server.jar
通过这种方式,java可执行文件
标签: Shell
gitlab-cigitlab-ci-runner
所有让我们选择GitLab的东西
我们希望对整个库进行分析,并在单独的项目中推进基准测试。我们已经使用SSH-key方法完成了类似于for-out文档的工作,但这次我们希望避免这种情况
我们尝试了这样的脚本:
test_ci_push:
tags:
- linux
- shell
- light
stage: profiling
allow_failure: false
only:
- new-benchmark-stage
script:
我试图通过键盘指定文件扩展名,然后在当前目录中查找所有这些文件,但无法从变量中读取扩展名
echo Input file type:
read EXT
find . -name '*.{EXT}'
使用此脚本
#!/bin/bash
echo -n "Input file type:"
read EXT
find . -type f -name "*.$EXT"
此脚本将搜索当前目录及其子目录中的文件。如果要优化此设置,可以使用maxdepth
find . -maxdepth 1 -t
我试图在一个ansible shell任务中使用yq/jq
我的任务采取了几种不同的形式,但迄今为止没有一种有效。我试过多行和一行
这是我想执行的任务。不知怎的,我把这些引语弄错了,但一直没能弄明白
这里有一些简单的yaml-simple-service-test.yaml
---
apiVersion: extensions/v1beta1
kind: Deployment
spec:
template:
spec:
containers:
-
我有一个Z Shell(zsh)脚本,它执行一系列命令在我的计算机(Mac)上安装设备。其中一个命令是从设备读取MAC地址,设备第一次开机时将执行此操作
在设备通过串行发送数据之前,设备上有一个延迟,允许执行串行捕获命令,我想捕获设备将打印的mac地址,然后在大约5秒钟后终止串行捕获(终止进程),并继续执行脚本。我正在尝试使用screen命令执行此操作。我可以记录到日志,但我不能在后台运行屏幕
注:
-L将文件写入名为screenlog.0
我有以下命令来执行此操作
screen -L /dev
当$thing为空时,将退出
thing=`command_that_could_return_null`
echo "thing is" $thing
if [ -z $thing ]; then exit; fi
……但这
if [ -n $thing ] && [ $thing = "special_value" ]; then
do_the_special_thing
fi
拿出
[:=:意外运算符
我不明白。
当$thi
为了根据批处理作业运行的时间对PDQ资源的分配进行微调,我们有一个实用程序,该实用程序根据某一周中的某一天/一天中的某一小时规则设置PDQPRIORITY,例如:
PDQPRIORITY=$(throttle); export PDQPRIORITY
但是,这在脚本启动时是固定的,因此长时间运行的作业在进行时不会受到限制。为了纠正这种情况,我们尝试了以下方法:
CREATE PROCEDURE informix.set_pdq() RETURNING VARCHAR(50);
DEFINE
我正在尝试使用egrep和regex验证输入
如果我将echo管道传输到egrep,它会工作,但它也会在屏幕上打印变量,这是我不需要的。您可以使用awk
$ echo "1234" | awk '{print $1+0==$1?"ok":"not ok"}'
ok
$ echo "123d4" | awk '{print $1+0==$1?"ok":"not ok"}'
not ok
你可以用awk
$ echo "1234" | awk '{print $1+0==$1?"ok":"not
好的,我得到了一个目录(例如,名为“/photos”),其中有不同的目录
(如“/photos/wedding”、““/photos/birth”、““/photos/discalation”等),其中包含.jpg文件。不幸的是,一些jpeg文件已损坏。我需要找到一种方法来确定哪些文件被破坏了。
我发现,有一个叫做imagemagic的工具,它可以帮助很多人。如果您这样使用它:
identify -format '%f' whatever.jpg
它仅在文件有效时打印文件名,如果文件无效,则打
我的KornShell(ksh)脚本中有一个循环,我想至少执行一次,我想用一种优雅的方式来执行它,然而,尽管我已经找到了很多关于如何编写while循环的东西,但似乎没有什么东西可以做……while循环
我所做的是从配置文件中读取以逗号分隔的文件列表并对其进行处理。如果文件列表为空,则我希望处理目录中的所有文件
做这件事的好方法是什么
编辑:这是我目前拥有的。我获取文件名,然后将其从字符串中删除,以便下一次传递。如果文件列表为空,则退出循环。但是,如果列表一开始是空的,我希望它仍然运行一次
w
请提供有关“如何编译tcl/shell代码”的分步说明
(需要隐藏原始源代码)
请根据以下问题给出答案
实现这一点所需的工具(请推荐最佳/简单的工具)
如何编译
如何运行已编译的输出文件
感谢Activestate提供了一个产品,可以用来生成字节编译的blob,或者准备用Tcl编写的“编译”应用程序(也称为“starpacks”)。Activestate提供了一个产品,可以用来生成字节编译的blob,或者准备“编译”的blob用Tcl编写的应用程序(也称为“starpacks”)。如果您运行的是
我需要一些关于以下方面的建议
我写了一个脚本,下面是算法
Step 1: Get the RID's from file 1 and store that in "temp1"
Step 2: With the help of "temp1" get the corresponding blocks from file 2 and accumulate it
Step 3: With the help of the accumulated block, get the counts of eac
KornShell(ksh)的全新产品。我有一个非常痛苦的问题,希望很简单
我需要运行一个包含单引号和变量的字符串参数脚本。在外壳中,它看起来像这样:
run_script -x '*082512*'
这很好
但一旦我尝试在带有日期变量的脚本中运行它,我就无法生成这些单引号。我已经毫无问题地创建了“今日日期”变量:
today=$(date "+%m%d%y")
但是当我尝试运行脚本时,问题就出现了。我尝试了引号内的所有可能的引号组合,以及转义单引号等,但都没有成功
如果您对这个问题有任何见
我无法阻止make将任何变量传递给submake。我已经阅读了手册,并遵循了他们的建议(重置MAKEOVERRIDES和MAKEFLAGS),但它仍然不起作用,我认为它应该起作用
考虑以下原型生成文件:
${warning $(MAKEOVERRIDES)}
${warning $(MAKEFLAGS)}
${warning $(VAR)}
none:
$(MAKE) -f Makefile MAKEOVERRIDES= MAKEFLAGS= all
all:
echo do
如何在shell中进行模式匹配
if ( $var ~= /abc/)
正如我们喜欢perl中的上述命令一样。使用:
或
或者,如果不使用:
见
没什么要补充的,+1你应该解释你想要什么,而不是用能回答的人可能不知道的语言提供代码。此外,还有至少六个常见的外壳,所以您应该指定您正在谈论的是哪一个!这是一个非常糟糕的问题。请把它修好。
if [[ $var =~ regex ]]; then ...; fi
if [[ $var == *string* ]]; then ...; f
有两个exe/程序根据命令行参数执行任务,我们称之为Profile。用户可以使用特定的配置文件运行这些EXE的多个实例
我们遇到了这样一种情况:如果一个exe使用一个配置文件运行,那么另一个exe不应该使用相同的配置文件运行,或者一个exe不能使用相同的配置文件实例化两次。为此,我们需要识别具有相同配置文件的正在运行的流程
一种可能是登录,但如果进程/exe终止,则可能会失败
编辑
我需要通过向用户显示流程的窗口/表单标题来通知用户。因为我的前任是基于表单的,所以每个流程都会根据概要文件有自己的
嘿,我想获得一些帮助,制作一个批处理文件,可以在计算机重新启动后启动任何程序或exe,而不是在此之前。最简单的方法是将其放入启动文件夹,位于此处:C:\Users\USERNAME\AppData\Roaming\Microsoft\Windows\start Menu\Programs\startup,但将用户名更改为您的用户名。该文件夹中的所有内容都将在计算机启动时执行。完成后,您可以从该文件夹中删除批处理文件。或者,您甚至可以让批处理文件自动执行此操作 那么,制作一个批处理文件并将其放入启
我有一个奇怪的要求,我只想限制少数ID执行“chmod”命令
#which chmod
/usr/bin/chmod
#ls -lrt /usr/bin/chmod
-r-xr-xr-x 1 bin bin 10700 Jun 20 2012 /usr/bin/chmod
它对所有用户都具有执行权限。我们是否可以创建一个排除组,并以某种方式进行配置,使权限仅对那些用户撤销
我的选择是创建一个组,其中所有ID都不包括我要放入异常的ID,并更改权限,如
-r-
我已经编写了一个shell脚本来重新连接路由器
当我用Cygwin在我的PC上运行它时,它工作正常,但现在我想在我的智能手机SL4A外壳上运行它,我得到一个错误:
重新连接.sh[4]语法错误:'{'不匹配
这是我正在使用的脚本:
#! /system/bin/sh
echo "script start"
sleep 3
strindex() {
x="${1%%$2*}"
[[ $x = $1 ]] && echo -1 || echo ${#x}
}
为什么会出现
我想在makefile中运行这样的脚本
all: a b
a:
cd ~/trials; \
. ./sx.sh
b:
echo $(bn)
sx.sh做这个
export bn=1
在发出make命令时,我在终端中没有看到变量。我的目标是在为那些特定于脚本的设置编译项目之前运行一个脚本。您不能假设make发出的命令都由相同的shell实例化处理。Make不会打开shell并逐个向其提供命令,也不会将命令保存到文
这不是家庭作业
我不熟悉shell脚本,也不熟悉自学
请帮助我区分以下两个脚本
MY_NAME=$(echo "$FILELIST" | grep $MY_NAME )
MY_NAME=$(ls -1 $MY_NAME)
Grep命令将只显示匹配的行,而ls-l将列出目录中的所有文件。它们执行两个完全不同的操作。您熟悉ls、grep和echo命令吗?只需从内到外将“原子”从每个复制/粘贴到命令行,即复制粘贴echo“$FILELIST”| grep$MY_NAME。那会产生什么?但是oops
我遇到了一个小问题。我想从redis数据库中删除所有哈希键/值对,其中的值与字符串模式匹配。对于按键值删除哈希的问题,我在命令行中找到了一些解决方案,但是对于按值删除模式的相关问题,我没有找到任何解决方案
具体例子:
redis> HSET myhash field1 "Wild"
(integer) 1
redis> HSET myhash field2 "World"
(integer) 1
redis> HSET myhash field2 "Window"
(integ
将与一个中等规模的远程组合作进行一个大型(但独立)项目,该项目将产生大量GB到TB的数据
为了让用户不必在个人计算机上存储500GB的数据,并让每个人都保持同步,我们需要一个命令行/python实用程序来控制对多个操作系统:或至少是osx和linux的依赖项的选择性同步
例如,需要处理文件夹的人:
星际迷航/星际迷航II
可能需要以下文件夹:
星际迷航/尼莫/普通
startrek/nimoy/[用户]
星际迷航/沙特纳/普通
startrek/shatner/[用户]
但不是:
sta
我尝试使用shell脚本在特定文件夹中随机创建30到130个文件。我可能犯了一些错误,因为我很长时间没有与shell合作。这是我的密码:
ran=$RANDOM
while [$ran > 100]; do
$ran = $RANDOM
done
$ran=$ran+30
i=0
while [$i < $ran]; do
cat > 'Lobby/data/map_'$i'.dat'
$i=$i+1
done
ran=$RANDOM
而[$ran>100];做
我在服务器上运行一个脚本文件,其中包含以下代码
ssh username@servername
sudo su - root
cd /abc/xyz
mkdir asdfg
我能嘘。。。但是下一个命令不起作用。。脚本不是sudo-ing。有什么想法吗
编辑:能够创建一个机械id,然后进行操作。。尽管仍在寻找上述问题的答案:|首先,您的命令将“卡住”在第一行,因为它将进入交互模式。ssh命令要求用户提供密码(除非使用sshkey)。如果ssh登录到远程服务器,那么它将等待来自标准输入的用户命令
如何将#2中的行写入名为output.txt的文件?使用tail命令:
tail +2 input.txt > output.txt
或
tail+2-您是否错过了tail后面的空格?如何从shell显示的特定行输出到另一个文件?没有“shell显示”这样的东西。请举例说明您想要完成的任务。@codeforester,为什么不使用sed命令,因为tail无法读取+2?我现在想要的是从一个文件到另一个文件的特定行的输出。该参数语法已被弃用多年尾部-n+2…
sed '1d' input.t
在web服务器上有一堆50.rar文件,我想全部下载。
而且,这些文件的名称除了.rar之外没有任何共同之处
我想尝试aria2下载所有这些文件,但我想我需要编写一个脚本来获取所有.rar文件的地址
我不知道如何开始写纸条。任何提示都将不胜感激。您可以尝试在shell脚本中使用-A参数玩wget:
wget -r "https://foo/" -P /tmp -A "*.rar"
下面是对-A的作用的解释
指定要接受或拒绝的文件名后缀或模式的逗号分隔列表(请参见文件类型)。请注意,如果accl
file1有100000行。每行有2个字段,例如:
test 12345678
test2 43213423
另一个文件有数百万行。以下是上述文件条目在file2中的外观示例:
我想从文件1中找到grep这两个字段,这样我就可以找到包含这两个字段的任何行,但问题是,我想通过第二个文件搜索100000个条目,因为循环grep非常慢,因为它可能会循环100000 x 10000000
这可能吗?您可以在awk中执行此操作:
awk -F"['[:blank:]]+" 'NR == FNR { a[
我有话要说
string="MYSTRING"
现在,我想用双引号对MYSTRING的任何出现进行grep,这样在开始时就必须有括号,基本上我想搜索,其中MYSTRING被用作函数的参数。所以
foo( "MYSTRING" //postive
foo("MYSTRING" //positive
foo('MYSTRING' //positive
foo( 'MYSTRING' //positive
var a = "MYSTRING" //negativ
我正在尝试执行3命令,并将输出作为一个变量,需要进行一些百分比计算,并显示与示例相同的结果。这可以作为脚本执行
我无法将数据保存在执行命令的主机上,我的脚本将在本地系统上,该系统将在远程主机上执行,并将数据传输回本地计算机。是否有任何可能的方法来完成这项任务
第一命令输出
$ isi status -q | grep -e "^Size" -e "^Used" -e "^Avail"
Size:573T
Used:448.0T
Avail:74T
$ isi_classic snapshot
我的目标是删除结尾“1”以及它前面的字母,在本例中是“M”。我如何做到这一点?我的非工作代码:
echo "14M3856N61M1S" | gawk '{gensub(/([^(1S)]*)[a-zA-Z](1S$)/, "\\1", "g") ; print $0}'
>14M3856N61M1S
预期的结果应该是
>14M3856N61
这里有一些附加信息。1.我认为substr在这里不起作用,因为我的实际目标字符串具有不同的长度。2.我不喜欢采用定义特殊分隔符的方法,因为
我有一个问题:我有一个文件,如果我知道如何编辑,我想从命令编辑。我想按该行的内容查找文件
我在CyberPatriot,我的团队在我所在的州排名第二。我认识一队的人,我认识一队的人。它让我很痛苦,所以我想列一个命令列表,让它更快、更高效
假设我有这个文件:
example
oof
goo
random
yes
我想把它改成这样:
example
oof
goo
random 'added text'
yes
我该怎么做?
我知道我可以使用echo命令将文本添加到文件末尾,但我不知道如何将文本
我正试图通过在hdfs ls中使用sed来进一步优化我的代码,但错误正在发生
hdfs dfs-ls$hdfs_RAW_DIR/MIC>>$PATH/note.txt|sed-i'1d'
PATH/note.txt
这是我上面显示错误的代码,可以在同一行中使用。您的行实际上没有意义
hdfs dfs -ls $HDFS_RAW_DIR/MIC >> $PATH/note.txt
将hdfs dfs-ls$hdfs\u RAW\u DIR/MIC的输出附加到文件$PATH/note
我写的语法是:
for i in {1..440}
do
sed -n $ip final.txt > station$i.txt
done
在这里,数字$i应该是一个变量。问题很不清楚,但可能是您试图连接$i和p?如果是,请使用${i}p。
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 437 页