我想问一个关于如何应用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 文件做任何事情,所以它有点令人困惑。
我有一个文件,看起来像
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 代码。先感谢您。
我有一组十六进制,其中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完成吗?谢谢.
我想计算字典中每个值的数量,并构造一个以值为键的新值,以及具有所述值作为值的键列表.
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) 我有以下 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 行(空行)和第一列,以便我可以旋转它。有没有办法做到这一点?谢谢你。
我有以下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的值?
我正在尝试创建一个执行以下操作的子例程:
示例:
@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) 这是使用的数据示例:
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) 我在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) 我有以下问题:
有一个文件,制表符分隔:
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 ×4
perl ×4
python ×3
pandas ×2
abap ×1
arrays ×1
awk ×1
batch-file ×1
count ×1
counter ×1
dictionary ×1
duplicates ×1
exit-code ×1
file ×1
filter ×1
group-by ×1
insert ×1
list ×1
pivot-table ×1
preserve ×1
putty ×1
python-2.7 ×1
row ×1
sap ×1
sed ×1
select ×1
sorting ×1
substring ×1
tr ×1
where ×1