标签: scripting

如何使用shell脚本将一个文件内容合并/附加到另一个文件

我有两个文件fileA和fileB

FileA 内容

PersonName Value1 Value2 Value3
Run Code Online (Sandbox Code Playgroud)

FileB 内容

ALBERT check1 check1 check1
ALBERT check2 check2 check2
ALBERT check3 check3 check3
Run Code Online (Sandbox Code Playgroud)

我想合并fileA和fileB的内容,FileA内容应该是合并文件中的第一行

我尝试使用pastesort命令...不能得到任何建议所需的结果......

unix bash shell scripting merge-file

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

Shell Bash声明一个数组

我在Bash中声明一个数组有一些问题.

我正在尝试使用declare -A道具

但它给了我一个错误,指出:

  declare -A: invalid option           
  declare: usage: declare [-afFirtx] [-p] [name[=value]] ...]
Run Code Online (Sandbox Code Playgroud)

由于数组目前为0,因此将非常感谢任何帮助.

我正在尝试创建一个存储键和值的数组.

unix arrays bash shell scripting

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

在linux中使用*命令运行文件

假设我希望在目录中运行所有脚本.如果我这样做./*.sh,它们会运行哪个顺序?

目录:1.sh 2.sh 3.sh

linux bash scripting

0
推荐指数
2
解决办法
64
查看次数

如何管理所有终端输出,包括从脚本到日志文件的错误消息

我正在尝试为大型备份文件创建可读的日志文件.
在脚本中,我只是将命令的所有输出传递给一个大文件,然后可以通过脚本"清理".例如:

echo "Error occurred" >> log.file
mount disk >> log.file
Run Code Online (Sandbox Code Playgroud)

在执行脚本时,我错过了警告和错误,我在控制台管道.

backup.script >> log.file
Run Code Online (Sandbox Code Playgroud)

但即便如此,当我通过cron执行脚本(带管道)时,错误消息并不总是记录在我的文件中,我从rsync和脚本错误中收到邮件:

rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32)
rsync: write failed on "/mnt/backup1/xxxxx": No space left on device (28)
rsync error: error in file IO (code 11) at receiver.c(322) [receiver=3.0.9]
rsync: connection unexpectedly closed (215 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]
Run Code Online (Sandbox Code Playgroud)

并在发生脚本错误时:

/data/scripts/backup.auto: line 320: syntax error …
Run Code Online (Sandbox Code Playgroud)

bash scripting error-reporting pipe

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

使用linux csh脚本在许多子目录中执行makefile

我正在尝试编写一个csh脚本,它将在子目录中执行makefile.到目前为止我有这个:

find -maxdepth 2 -name 'Makefile' -print -execdir make \;

我遇到的问题是当我尝试运行它时出现以下错误:

find: The current directory is included in the PATH environment variable, which is insecure in combination with the -execdir action of find. Please remove the current directory from your $PATH (that is, remove "." or leading or trailing colons)

在这种情况下,我无法合理地更改$ PATH变量.关于变通方法的任何想法.

非常感谢和愉快的编码

linux shell scripting csh makefile

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

rm -rf $ TIGER/$ {LION}/$ {RABBIT}/*和rm -rf $ TIGER/$ {LION}/$ {RABBIT}之间的区别是什么?

我需要理解它们之间的差异,rm -rf $TIGER/${LION}/${RABBIT}/* and rm -rf $TIGER/${LION}/${RABBIT}以便在脚本中放置它不会产生灾难,使它在没有设置变量的情况下从root中删除所有内容.在csh/ksh中使用rm -rf的安全方法是什么?

感谢帮助 !!

shell scripting ksh csh

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

awk:是否可以在awk脚本中更改块代码中的FS变量?

任何帮助表示赞赏.

我在"csv"文件中有以下行:

11;juan;planA|2014-06-02|3853157|-,planb|2014-08-15|-|-;11111111

12;andrew;planA|2014-07-20|-|-;22222222
Run Code Online (Sandbox Code Playgroud)

我需要生成以下输出:


帐户= 11

 Name=juan
 Phone=11111111
 Plan=planA
 Expire=2014-06-02
 used=3853157
 free=
 Plan=planB
 Expire=2014=08-15
 used=
 free=
Run Code Online (Sandbox Code Playgroud)

帐户= 12

 Name=andrew
 phone=22222222
 Plan=planA
 Expire=2014-07-20
 used=
 free=
Run Code Online (Sandbox Code Playgroud)

我打印前3行的awk脚本非常简单:

BEGIN { FS=";";
}
{
print("account=")$1;
print("name=")$2;
print("phone=")$4;       

}
END {
}
Run Code Online (Sandbox Code Playgroud)

所以,我需要一些灯来产生"计划信息"行的逻辑:

我可以将字段$ 3分配给$ 0变量,只为字段3分配一个完整的新行,并将FS(文件分隔符)更改为","以拆​​分计划.然后再将$ 1分配给$ 0并立即将FS更改为"|" 让字段打印计划行.

我需要知道的是,是否可以在块代码段中更改FS变量.或者我完全错了?

谢谢!

variables scripting awk fs

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

如何使用shell脚本计算目录中的隐藏文件?

我用过这段代码

#!/bin/bash

ls -l
echo -n "Number of simple files : "
ls -l | egrep '^-' | wc -l 
echo -n "Number of directories : "
ls -l | egrep '^d' | wc -l
echo -n "Number of hidden files : "
ls -la | egrep '^.*\.$' | wc -l
echo -n "Number of hidden directories : "
ls -la | egrep '^d.*\.$' | wc -l
echo " End"
Run Code Online (Sandbox Code Playgroud)

虽然我可以理解前两个egrep是如何工作的,但我无法弄清楚最后两个如何工作.更具体的是什么意思'^.*\.$'?我想要一个以.开头的文件.(隐藏文件)然后我应该如何塑造我的正则表达式?

bash shell scripting grep

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

获取计算机的名称

有没有办法.txt通过脚本命名文件输出,该脚本与运行它的计算机名称相同?有什么东西沿着%computername%.txt

例:

[String]$logFile = 'C:\Test\nameofcomputer.txt'
Run Code Online (Sandbox Code Playgroud)

powershell scripting wildcard

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

PHP三元运算符语法错误

<?
$percent = 105;
$percent = ($percent > 100) ? 100 :
           ($percent < 0) ? 0 : $percent;
echo $percent;
?>
Run Code Online (Sandbox Code Playgroud)

为什么这回音0?我正在查看我编写的JavaScript代码,它在逻辑上没有区别.

php scripting

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

标签 统计

scripting ×10

bash ×5

shell ×5

csh ×2

linux ×2

unix ×2

arrays ×1

awk ×1

error-reporting ×1

fs ×1

grep ×1

ksh ×1

makefile ×1

merge-file ×1

php ×1

pipe ×1

powershell ×1

variables ×1

wildcard ×1