小编onl*_*lyf的帖子

从 PuTTY 运行的 shell 脚本返回代码以调用批处理文件?

我想问一个关于如何应用PuTTY并控制其返回值的问题。我的设置是这样的。

有一个xxxxx.bat文件包含 PuTTY 调用和 ssh 连接,例如:

putty.ext ssh 10.10.10.10 -l xxxx -pw yyyy -t -m wintest.txt
Run Code Online (Sandbox Code Playgroud)

该文件wintest.txt包含:

echo "wintest.txt: Before execute..."

/home/tede/n55115/PD/winlinux/RUN.lintest.bsh

echo "wintest.txt: After execute..."
echo $?
Run Code Online (Sandbox Code Playgroud)

该文件lintest.bsh包含各种命令,我感兴趣的是能够捕获 .bsh 文件中特定命令的返回值,并从 bat 文件调用该值,将其添加到带有警告的 if 循环中,即if $?(或%ERRORLEVEL- 我不知道什么会起作用)thenBLABLA

我已经阅读了很多关于这个的帖子,但坦率地说,这是我第一次使用 .bat 文件做任何事情,所以它有点令人困惑。

bash putty batch-file exit-code

6
推荐指数
1
解决办法
4016
查看次数

Bash - 删除重复项保留顺序

我有一个文件,看起来像

1254543534523233434
3453453454323233434
2342342343223233535
0909909092324243535
Run Code Online (Sandbox Code Playgroud)

bash 中是否有一种方法/命令可以根据特定的子字符串删除上面文件中的重复项,而不更改它们在输出中的顺序?

IE

(使用子字符串 -> ${line:11:8}

1254543534523233434
2342342343223233535
0909909092324243535
Run Code Online (Sandbox Code Playgroud)

我知道 :

sort -u : sorts them numerically, then removes duplicates
sort -kx,x -u : The same
cat filein | uniq : requires them to be sorted already or it will not work
Run Code Online (Sandbox Code Playgroud)

我想弄清楚是否有本地 linux 解决方案,而不必为它解析 perl 代码。先感谢您。

sorting bash preserve

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

Bash中十六进制的音译特征

我有一组十六进制,其中id就像音译到另一组十六进制,例如:

x00 -> x20
xB0 -> x20
x21 -> x40
x80-xFF -> x20
x22 -> x43
Run Code Online (Sandbox Code Playgroud)

我知道我可以链接sed语句,如:

sed -i.bak $'s/[\x80-\xFF]/\x20/g'
Run Code Online (Sandbox Code Playgroud)

或者喜欢:

sed -e 's/\x00/\x20/g;s/\xB0/\x20/g'
Run Code Online (Sandbox Code Playgroud)

但有没有办法按行"打破"这些单独的更改,以便更具可读性?喜欢 :

sed -e '
 s/\x00/\x20/g;
 s/\xB0/\x20/g;
 .
 .
 .
 ' File_In > File_out
Run Code Online (Sandbox Code Playgroud)

如果不可能,可以用perl完成吗?谢谢.

bash perl sed tr

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

Python:在字典中计算频率

我想计算字典中每个值的数量,并构造一个以值为键的新值,以及具有所述值作为值的键列表.

Input :
b = {'a':3,'b':3,'c':8,'d':3,'e':8}
Output:
c = { '3':[a. b. d]
      '8':[c, e]
                    }
Run Code Online (Sandbox Code Playgroud)

我写了以下内容,但它引发了一个关键错误,并没有给出任何输出,有人可以帮忙吗?

def dictfreq(b):
    counter = dict()
    for k,v in b.iteritems():
        if v not in counter:
            counter[v].append(k)
        else:
            counter[v].append(k)

    return counter


print dictfreq(b)
Run Code Online (Sandbox Code Playgroud)

python counter dictionary list python-2.7

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

Python - Pandas 删除 excel 中的特定行/列

我有以下 excel 文件,我想清理特定的行/列,以便我可以进一步处理该文件。

在此处输入图片说明

我试过这个,但我没有设法删除任何空行,我只设法从那些包含数据的行中删除。在这里,我试图只保存第三行及以后的数据。

xl = pd.ExcelFile("MRD.xlsx")
df = xl.parse("Sheet3")
df2 = df.iloc[3:]

writer4 = pd.ExcelWriter('pandas3.out.no3lines.xlsx', engine='xlsxwriter')
table5 = pd.DataFrame(df2)
table5.to_excel(writer4, sheet_name='Sheet1')
writer4.save()
Run Code Online (Sandbox Code Playgroud)

我特别想删除第 1、3 行(空行)和第一列,以便我可以旋转它。有没有办法做到这一点?谢谢你。

python row pandas data-cleaning

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

Perl:计算重复项

我有以下file.txt:

AAAA
BBBB
AAAA
CCCC
EEEE
AAAA
Run Code Online (Sandbox Code Playgroud)

我编写了一个脚本来计算重复次数,将它们从最高重复项排序到最低重复项并打印出来.喜欢 :

AAAA : 3
BBBB : 1
CCCC : 1
EEEE : 1
Run Code Online (Sandbox Code Playgroud)

该脚本是:

use v5.14;
use strict;

my %map;
chomp(my @chks = <FILE>);

foreach my $load (@chks) {
    $map{$load} += 1;
}

foreach my $key (sort keys %map) {
    say "$key : $map{$key} "
} 
Run Code Online (Sandbox Code Playgroud)

但输出结果如下:

 : 3
 : 1
 : 1
 : 1
Run Code Online (Sandbox Code Playgroud)

为什么它看不到$ key的值?

perl file count duplicates

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

Perl - 数组的过滤函数

我正在尝试创建一个执行以下操作的子例程:

  1. 将两个数组作为输入(Filter,Base)
  2. 仅输出第一个中不存在的第二个数组的值

示例:

@a = ( 1, 2, 3, 4, 5 );
@b = ( 1, 2, 3, 4, 5, 6, 7);

Expected output :   @c = ( 6, 7 );
Called as : filter_list(@filter, @base)

###############################################

sub filter_list {
    my @names = shift;
    my @arrayout;
    foreach my $element (@_)
    {
       if (!($element ~~ @names )){
       push @arrayout, $element;
    }
    }
   return @arrayout
}
Run Code Online (Sandbox Code Playgroud)

测试运行 :

@filter = ( 'Tom', 'John' ); 
@array = ( 'Tom', 'John', 'Mary' ); …
Run Code Online (Sandbox Code Playgroud)

arrays perl filter

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

Python-groupby上的Pandas小计

这是使用的数据示例:

SCENARIO    DATE    POD         AREA    IDOC    STATUS  TYPE
AAA   02.06.2015    JKJKJKJKJKK 4210    713375  51         1
AAA   02.06.2015    JWERWERE    4210    713375  51         1
AAA   02.06.2015    JAFDFDFDFD  4210    713375  51         9
BBB   02.06.2015    AAAAAAAA    5400    713504  51        43
CCC   05.06.2015    BBBBBBBBBB  4100    756443  51       187
AAA   05.06.2015    EEEEEEEE    4100    756457  53       228
Run Code Online (Sandbox Code Playgroud)

我已经在pandas中将以下代码编写为groupby:

import pandas as pd
import numpy as np

xl = pd.ExcelFile("MRD.xlsx")
df = xl.parse("Sheet3") 
#print (df.column.values)

# The following gave ValueError: Cannot label index with a null key
# …
Run Code Online (Sandbox Code Playgroud)

python group-by pivot-table pandas

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

在ON子句中使用子字符串的OpenSQL SELECT

我在ABAP中有以下select语句:

SELECT munic~mandt VREFER BIS AB ZZELECDATE ZZCERTDATE CONSYEAR ZDIMO ZZONE_M ZZONE_T USAGE_M USAGE_T M2MC M2MT M2RET EXEMPTMCMT EXEMPRET CHARGEMCMT
INTO corresponding fields of table GT_INSTMUNIC_F
FROM ZCI00_INSTMUNIC AS MUNIC
INNER JOIN EVER AS EV on
  MUNIC~POD = EV~VREFER(9).
"where EV~BSTATUS = '14' or EV~BSTATUS = '32'.
Run Code Online (Sandbox Code Playgroud)

我对上述语句的问题是无法识别'ON'子句上的子串/偏移操作.如果我删除'(9)然后它识别该字段,否则它给出错误:

Field ev~refer未知.它既不在指定的表中,也不由"DATA"语句定义.我也尝试在'Where'子句中做类似的事情,收到类似的错误:

LOOP AT gt_instmunic.

 clear wa_gt_instmunic_f.

 wa_gt_instmunic_f-mandt = gt_instmunic-mandt.
 wa_gt_instmunic_f-bis = gt_instmunic-bis.
 wa_gt_instmunic_f-ab = gt_instmunic-ab.
 wa_gt_instmunic_f-zzelecdate = gt_instmunic-zzelecdate.
 wa_gt_instmunic_f-ZZCERTDATE = gt_instmunic-ZZCERTDATE.
 wa_gt_instmunic_f-CONSYEAR = gt_instmunic-CONSYEAR.
 wa_gt_instmunic_f-ZDIMO = gt_instmunic-ZDIMO.
 wa_gt_instmunic_f-ZZONE_M = gt_instmunic-ZZONE_M.
 wa_gt_instmunic_f-ZZONE_T …
Run Code Online (Sandbox Code Playgroud)

sap abap select substring where

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

从另一个文件添加列

我有以下问题:

有一个文件,制表符分隔:

Code1  Number1  Name1  Phone1
Code2  Number2  Name2  Phone2
Code3  Number3  Name3  Phone3
Code4  Number4  Name4  Phone4
Run Code Online (Sandbox Code Playgroud)

我有一个文件:

Surname 1
Surname 2
Surname 3
Surname 4
Run Code Online (Sandbox Code Playgroud)

我想要的输出是:

Code1  Number1  Name1 Surname1 Phone1
Code1  Number1  Name1 Surname2 Phone1
Code1  Number1  Name1 Surname3 Phone1
Code1  Number1  Name1 Surname4 Phone1
Run Code Online (Sandbox Code Playgroud)

我知道我可能必须使用awk,但我只知道如何在其他人之间插入一个固定值的列,使用:

awk '{ $2=$2"newvalue" print $0 }'
Run Code Online (Sandbox Code Playgroud)

但是我不知道如何从另一个文件中读取行并将它们存储在newvalue中以关闭上面所需的输出.我不需要特定的awk建议.谢谢您的帮助.

bash perl awk insert

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