标签: scripting

unix - 文件的头和尾

假设您有一个txt文件,同时查看前10行和后10行文件的命令是什么?

即如果文件长度为200行,则一次查看1-10行和190-200行.

unix linux bash shell scripting

124
推荐指数
8
解决办法
6万
查看次数

如何在Windows中的变量中获取命令的结果?

我希望将命令的结果作为Windows批处理脚本中的变量(请参阅如何在bash中获取bash脚本等效命令的结果).可以在.bat文件中使用的解决方案是首选,但也欢迎其他常见的Windows脚本解决方案.

windows scripting batch-file

120
推荐指数
6
解决办法
24万
查看次数

如何在bash中手动扩展一个特殊变量(ex:~tilde)

我的bash脚本中有一个变量,其值如下所示:

~/a/b/c
Run Code Online (Sandbox Code Playgroud)

请注意,它是未扩展的波形符号.当我对这个变量执行ls -lt(称之为$ VAR)时,我没有这样的目录.我想让bash解释/扩展这个变量而不执行它.换句话说,我希望bash运行eval但不运行evaluate命令.在bash中这可能吗?

我是如何在不扩展的情况下将其传递到我的脚本中的?我用双引号传递了围绕它的论点.

试试这个命令看看我的意思:

ls -lt "~"
Run Code Online (Sandbox Code Playgroud)

这正是我所处的情况.我想要扩展代字号.换句话说,我应该用什么来代替魔法来使这两个命令相同:

ls -lt ~/abc/def/ghi
Run Code Online (Sandbox Code Playgroud)

ls -lt $(magic "~/abc/def/ghi")
Run Code Online (Sandbox Code Playgroud)

请注意〜/ abc/def/ghi可能存在也可能不存在.

bash scripting tilde tilde-expansion

120
推荐指数
7
解决办法
7万
查看次数

Windows批处理:睡觉

如何让Windows批处理脚本等待几秒钟?

sleepwait似乎不工作(不能识别的命令).

windows shell scripting batch-file

119
推荐指数
8
解决办法
18万
查看次数

有没有一种简单的方法将C++枚举转换为字符串?

假设我们有一些命名的枚举:

enum MyEnum {
      FOO,
      BAR = 0x50
};
Run Code Online (Sandbox Code Playgroud)

我搜索的是一个脚本(任何语言),它扫描我项目中的所有标题,并生成一个标题,每个枚举一个函数.

char* enum_to_string(MyEnum t);
Run Code Online (Sandbox Code Playgroud)

以及类似这样的实现:

char* enum_to_string(MyEnum t){
      switch(t){
         case FOO:
            return "FOO";
         case BAR:
            return "BAR";
         default:
            return "INVALID ENUM";
      }
 }
Run Code Online (Sandbox Code Playgroud)

这个问题确实与typedefed枚举和未命名的C风格枚举有关.有人知道这个吗?

编辑:解决方案不应该修改我的源,除了生成的函数.枚举是在API中,因此使用迄今为止提出的解决方案不是一种选择.

c++ string scripting enums

118
推荐指数
12
解决办法
11万
查看次数

如何在Unix中删除文件中的重复行?

有没有办法在Unix中删除文件中的重复行?

我可以使用sort -uuniq命令,但我想使用sedawk.那可能吗?

unix shell scripting awk sed

118
推荐指数
6
解决办法
10万
查看次数

从一个文件中删除另一个文件中的行

我有一个文件f1:

line1
line2
line3
line4
..
..
Run Code Online (Sandbox Code Playgroud)

我想删除另一个文件中的所有行f2:

line2
line8
..
..
Run Code Online (Sandbox Code Playgroud)

我想的东西catsed,这甚至还没有接近我所预期的.我怎样才能做到这一点?

bash scripting sh

117
推荐指数
5
解决办法
7万
查看次数

Unix - 创建文件夹和文件的路径

我知道你可以mkdir创建一个目录并touch创建一个文件,但是没有办法一次完成这两个操作吗?

即如果我想在文件夹other不存在时执行以下操作:

cp /my/long/path/here/thing.txt /my/other/path/here/cpedthing.txt
Run Code Online (Sandbox Code Playgroud)

错误:

cp: cannot create regular file `/my/other/path/here/cpedthing.txt': No such file or directory
Run Code Online (Sandbox Code Playgroud)

有没有人想出一个功能作为解决方法?

unix linux bash shell scripting

117
推荐指数
6
解决办法
13万
查看次数

Bash循环中的计数器增量无效

我有以下简单的脚本,我正在运行一个循环,并希望维护一个COUNTER.我无法弄清楚为什么计数器没有更新.这是由于子shell创建了吗?我怎样才能解决这个问题?

#!/bin/bash

WFY_PATH=/var/log/nginx
WFY_FILE=error.log
COUNTER=0
grep 'GET /log_' $WFY_PATH/$WFY_FILE | grep 'upstream timed out' | awk -F ', ' '{print $2,$4,$0}' | awk '{print "http://domain.com"$5"&ip="$2"&date="$7"&time="$8"&end=1"}' | awk -F '&end=1' '{print $1"&end=1"}' |
(
while read WFY_URL
do
    echo $WFY_URL #Some more action
    COUNTER=$((COUNTER+1))
done
)

echo $COUNTER # output = 0
Run Code Online (Sandbox Code Playgroud)

linux bash shell scripting counter

117
推荐指数
9
解决办法
31万
查看次数

用于查找和替换具有特定扩展名的所有文件的PowerShell脚本

我在Windows Server 2008上嵌套了几个配置文件,如下所示:

C:\Projects\Project_1\project1.config

C:\Projects\Project_2\project2.config
Run Code Online (Sandbox Code Playgroud)

在我的配置中,我需要像这样进行字符串替换:

<add key="Environment" value="Dev"/>
Run Code Online (Sandbox Code Playgroud)

会变成:

<add key="Environment" value="Demo"/>
Run Code Online (Sandbox Code Playgroud)

我考虑过使用批处理脚本,但没有好的方法可以做到这一点,我听说使用PowerShell脚本可以轻松执行此操作.我找到了find/replace的例子,但我希望有一种方法可以遍历我的C:\ Projects目录中的所有文件夹,并找到任何以'.config'扩展名结尾的文件.当它找到一个,我希望它替换我的字符串值.

有什么好的资源可以找到如何做到这一点或任何可以提供一些见解的PowerShell大师?

powershell scripting replace find

113
推荐指数
8
解决办法
13万
查看次数

标签 统计

scripting ×10

bash ×5

shell ×5

linux ×3

unix ×3

batch-file ×2

windows ×2

awk ×1

c++ ×1

counter ×1

enums ×1

find ×1

powershell ×1

replace ×1

sed ×1

sh ×1

string ×1

tilde ×1

tilde-expansion ×1