Articles of bash

如何使用sed更改文件扩展名?

我必须做一个sed行(在Linux中也使用pipe道)来更改文件扩展名,所以我可以做一些mv *.1stextension *.2ndextension如mv *.txt *.c 。 问题是我不能使用批处理或for循环,所以我必须使用pipes和sed命令来完成所有操作。

如何replace一堆文件中的多行string

#!/bin/sh old="hello" new="world" sed -is/"${old}"/"${new}"/g $(grep "${old}" -rl *) 前面的脚本只适用于单行文本,我怎么写一个脚本可以replace多行文本。 old='line1 line2 line3' new='newtext1 newtext2' 我可以使用什么命令。

如何通过SSHredirect回声输出到文件

我试图通过ssh将一个variables的内容redirect到一个文件。 喜欢: ssh $MachineIP echo $CM_Config > $mName/CM_CONFIG 其中$CM_Config是我的主机中的一个本地variables,包含多行, $mName/CM_CONFIG位于$MachineIP我应该如何将本地variablesredirect到远程文件,假设我的sshconfiguration是正确的。 提前致谢

传递一个variables从PHP到bash

我似乎无法得到一个variables传递给我的bash脚本从PHP。 无论我尝试什么,$ uaddress和$ upassword都是空的。 ** ** ** ** ** ** ** ** ** ** bash ** ** ** ** ** ** ** *** #!/bin/bash -x useraddress=$uaddress upassword=$upassword ssh -p 222 -6 2400:8900::f03c:91f:fe69:8af "/var/www/localhost/htdocs/postfixadmin/scripts/postfixadmin-cli mailbox add" $useraddress –password $upassword –password2 $upassword .ssh ** * ** * ** * * php * ** * ** * ** […]

如何使用大括号扩展的variables

我有四个文件: 1.txt 2.txt 3.txt 4.txt 在linux shell中,我可以使用: ls {1..4}.txt来列出所有的四个文件,但是如果我设置两个variables:var1 = 1和var2 = 4,如何列出这四个文件? 那是: var1=1 var2=4 ls {$var1..$var2}.txt # error 什么是正确的代码?

查找哪个驱动器对应于Linux中的哪个USB大容量存储设备

我有几个USB大容量存储闪存驱动器连接到Ubuntu Linux计算机(Ubuntu 10.04.1,内核2.6.32-25-386),我需要以编程方式分开(如果可能的话,从bash中分离出来,但我不害怕编译) – 我需要find哪个块设备对应哪个物理设备(例如/dev/sdb1 – >设备在USB端口1;在我的情况下,一个设备〜一个卷)。 换句话说,我知道我有三个硬件设备插入USB端口, 它们中的每一个都作为USB大容量存储设备(如lsusb所示)显示在系统中,作为块设备( /dev/sdb1 )创build,并由UUID( /media/1234-5678 )自动挂接。 USB device block device mountpoint USB device in port 2.2 <-> /dev/sdb1 <-> /media/1234-5678 我没有试图find块设备和挂载点之间的关系; 我试图find块设备和USB设备之间的关系,有没有办法? 为什么? 在磁盘上会有一些写操作,并有不可预知的完成时间。 我需要给操作员一些指示,例如“现在可以移除端口2(这是从左边的第二个)的磁盘”。 我发现哪个物理端口对应于该特定机器上的哪个端口号,并且从挂载点查找块设备是简单的; 现在我卡住逻辑USB端口映射到块设备。 我可以看到与lsusb的磁盘: Bus 001 Device 058: ID 067b:2517 Prolific Technology, Inc. Mass Storage Device Bus 001 Device 060: ID 067b:2517 Prolific Technology, […]

如何在一行命令中将密码应用到sudo并执行su root?

我创build了一个名为samX的用户,具有root权限(在visudo附加了“samX ALL =(ALL:ALL)ALL”)。 我试图将密码应用到sudo ,然后su root并在一行命令中依次执行whoami 。 我目前的命令有点如下,但它抱怨错误: sudo:su root; whoami:命令未find echo 'CbEYKFKt' | sudo -S 'su root; whoami' 其中“CbEYKFKt”是用户samX的密码。 有没有解决这个问题? 非常感谢。

Bash – 如何把每一行放在引号内

我想把每一行放在引号内,比如: abcdefg hijklmn opqrst 转换成: "abcdefg" "hijklmn" "opqrst" 如何在Bash shell脚本中做到这一点?

Java exec()不会返回pipe道连接命令的预期结果

我正在调用通过pipe道连接的命令行程序。 所有这些都可以在Linux上运行。 我的方法: protected String execCommand(String command) throws IOException { String line = null; if (command.length() > 0) { Process child = Runtime.getRuntime().exec(command); InputStream lsOut = child.getInputStream(); InputStreamReader r = new InputStreamReader(lsOut); BufferedReader in = new BufferedReader(r); String readline = null; while ((readline = in.readLine()) != null) { line = line + readline; } } […]

为什么uniq在这个大文件上工作? 庆典

我真的很抱歉,这个其他的noob问题,但我真的不知道这里发生了什么。 我想从文件中计算单词的频率,单词是逐行的。 该文件真的很大,所以这可能是问题(在这个例子中,它是30万行) 我做这个命令: cat .temp_occ | uniq -c | sort -k1,1nr -k2 > distribution.txt 问题是它给了我一个小错误:它认为我是相同的词不同。 例如,第一个条目是: 306 continua 278 apertura 211 eventi 189 murah 182 giochi 167 giochi 你可以看到giochi重复了两次 在文件的底部,它变得更糟,它看起来像这样: 1 win 1 win 1 win 1 win 1 win 1 win 1 win 1 win 1 win 1 winchester 1 wind 1 wind […]