我正在搜索字符串::=BEGIN
,我想应用一个条件来检查是否找到了该词。
所以,我的意思是这样的:
if (sed command does find a match for "::=BEGIN")
then i=1
else i=0
Run Code Online (Sandbox Code Playgroud)
另外,我希望将 1(找到是)和 0(未找到)放入变量“i”中。
请帮帮我。还提供解决方案的解释!谢谢!
我在一个变量中有这家商店
sCellEventTrap-03-28 TRAP-TYPE -- CAC 代码:00 企业康柏 变量 { scellNameDateTime, scellSWComponent, scellE代码, 细胞CAC, 细胞EIP} 描述 “严重性:正常——本质上是信息性的。在定期驱动器检查期间,物理磁盘驱动器遇到 ID 块不一致。” --#TYPE "StorageCell 事件" --#SUMMARY "SCellName-TimeDate %s : SWCID %d : ECode: %d : CAC %d : EIP %d。" --#ARGUMENTS {0,1,2,3,4,} --#SEVERITY 信息 --#TIMEINDEX 136 --#状态警告 ::= 13600808
我要削减一切,直到第二次出现"
. 所以这会给我:
sCellEventTrap-03-28 TRAP-TYPE -- CAC 代码:00 企业康柏 变量 { scellNameDateTime, scellSWComponent, scellE代码, 细胞CAC, 细胞EIP} 描述 “严重性:正常——本质上是信息性的。在定期驱动器检查期间,物理磁盘驱动器遇到 ID 块不一致。”
另一个例子
genericSanEvent 陷阱类型 企业 hpSanManager 变量 {severityLevel, category, id, msgString、联系人姓名、联系人电子邮件、 联系工作电话,联系家庭电话, 联系寻呼机,联系传真 } 描述 …
升级到 Ubuntu 14.10 后,我的无线连接变得不稳定。
每隔 2 到 3 分钟,网络就会停止工作(即,我无法加载任何页面),即使网络管理器显示我已连接。
所以我必须手动断开它并再次连接,以使其再次工作,但它又只能再工作 2-3 分钟。
我使用的是带Intel Corporation Wireless 7260 (rev 73)
卡的戴尔 Inspiron 7357 。在 Ubuntu 14.04 中,适配器运行良好。
我没有看到崩溃或错误dmesg
:
$ dmesg | grep iw
[ 3.636727] iwlwifi 0000:02:00.0: irq 62 for MSI/MSI-X
[ 3.709654] iwlwifi 0000:02:00.0: loaded firmware version 25.222.9.0 op_mode iwlmvm
[ 3.742636] iwlwifi 0000:02:00.0: Detected Intel(R) Wireless N 7260, REV=0x144
[ 3.743790] iwlwifi 0000:02:00.0: L1 Enabled; Disabling L0S
[ 3.744023] iwlwifi 0000:02:00.0: L1 Enabled; Disabling L0S
[ 3.940407] …
Run Code Online (Sandbox Code Playgroud) 假设我有一个名为a
. 有一个阵列中的2项a[1]
和a[2]
。所以每个元素包含一个数字值。这两个值都有相似的起始数字,但它们有不同的结尾。我将复制类似的部分并忽略其余部分。
所以作为一个例子
$ echo ${a[1]}
.1.3.6.1.4.1.232.13600256
$ echo ${a[2]}
.1.3.6.1.4.1.232.13600276
Run Code Online (Sandbox Code Playgroud)
我需要一些命令来比较这些元素,然后只复制相似的部分,直到第一个不匹配的字段。即,在这个例子中
similar part is .1.3.6.1.4.1.232
Run Code Online (Sandbox Code Playgroud)
$ echo ${a[1]}
.1.3.6.1.4.1.759.2344.454545
$ echo ${a[2]}
.1.3.6.1.4.1.759.3234.454545
Run Code Online (Sandbox Code Playgroud)
similar part is .1.3.6.1.4.1.759
Run Code Online (Sandbox Code Playgroud) I have this command
Here
vovar=OBJECTS prvar="$(awk '/'"$vovar"'/,/}/ {gsub("$vovar"," "); gsub("}",": %s,"); gsub("{"," ");gsub(",",": %s,");print}' temp1)"
Contents of temp1
ciscoFlashCopyCompletionTrap NOTIFICATION-TYPE OBJECTS { ciscoFlashCopyStatus } STATUS current DESCRIPTION "A ciscoFlashCopyCompletionTrap is sent at the completion of a flash copy operation if such a trap was requested when the operation was initiated. " ::= { ciscoFlashMIBTraps 1 }
What I want the command to do
ciscoFlashCopyStatus : %s: %s,
What it actually does
OBJECTS ciscoFlashCopyStatus : %s: %s,
How can I …
我有以下内容。
oid=.1.3.6.1.4.1.795.2.5.0.xxx (these 0.xxx represent any random numeral)
Run Code Online (Sandbox Code Playgroud)
我想做以下事情
echo $oid | sed (some commands to remove 0.xxx)
Run Code Online (Sandbox Code Playgroud)
并存储结果字符串
.1.3.6.1.4.1.795.2.5
Run Code Online (Sandbox Code Playgroud)
在 oid。
我不介意用 Grep、awk 或 sed 来完成。
0.xxx 之前的一切都可以改变,只有静态的东西会是 0。
谢谢你的帮助!
我有这个
ciscoFlashCopyStatus 对象类型 语法整数 { copyOperationPending(0), copyInProgress(1), 复制操作成功 (2), copyInvalidOperation (3), copyInvalidProtocol (4), copyInvalidSourceName (5), copyInvalidDestName (6), copyInvalidServerAddress (7), copyDeviceBusy (8), copyDeviceOpenError (9), 复制设备错误(10), copyDeviceNotProgrammable (11), copyDeviceFull (12), copyFileOpenError (13), copyFileTransferError(14), copyFileChecksumError(15), copyNoMemory (16), copyUnknownFailure(17), 复制无效签名(18) } MAX-ACCESS 只读 状态电流
我想做的事
一些命令将每个名称复制VARIABLE
到名为的数组中var
所以输出的例子
回声“${var[0]} 复制操作待处理 回声“${var[1]} 复制进度 回声“${var[2]} 复制操作成功 等等..
任何想法我怎么能做到这一点?
注意这是一个类似的问题,我之前问过一些事情发生了什么变化,我不能再使用旧问题中提供的相同解决方案。
grep "::=BEGIN" -q < /home/erawson/bin/HP/adaptec.mib
CHK= echo $?
if ($CHK = "0") ; then
echo "failed"
else
exit
fi
Run Code Online (Sandbox Code Playgroud)
错误是:
/home/erawson/bin/try1: line 10: =: command not found
Run Code Online (Sandbox Code Playgroud) 我有这个文件:
Adaptec.mib,sCSISmart1,.1.3.6.1.4.1.795.2.5.0.101,CRITICAL, Adaptec.mib,sCSISmart2,.1.3.6.1.4.1.795.2.5.0.102,INFORMATIONAL, Adaptec.mib,sCSISmart3,.1.3.6.1.4.1.795.2.5.0.107,INFORMATIONAL, adaptec.mib,sCSISmart4,.1.3.6.1.4.1.795.2.5.0.108,INFORMATIONAL, Adaptec.mib,sCSISmart5,.1.3.6.1.4.1.795.2.5.0.109,INFORMATIONAL, adaptec.mib,sCSISmart6,.1.3.6.1.4.1.795.2.5.0.110,INFORMATIONAL, Adaptec.mib,sCSISmart7,.1.3.6.1.4.1.795.2.5.0.111,INFORMATIONAL, Adaptec.mib,sCSISmart8,.1.3.6.1.4.1.795.2.5.0.112,INFORMATIONAL, Adaptec.mib,sCSISmart9,.1.3.6.1.4.1.795.2.5.0.113,INFORMATIONAL, Adaptec.mib,sCSISmart10,.1.3.6.1.4.1.795.2.5.0.114,INFORMATIONAL, Adaptec.mib,sCSISmart11,.1.3.6.1.4.1.795.2.5.0.115,CRITICAL, Adaptec.mib,sCSISmart12,.1.3.6.1.4.1.795.2.5.0.116,INFORMATIONAL, Adaptec.mib,sCSISmart13,.1.3.6.1.4.1.795.2.5.0.117,INFORMATIONAL, Adaptec.mib,sCSISmart14,.1.3.6.1.4.1.795.2.5.0.118,INFORMATIONAL, Adaptec.mib,sCSISmart15,.1.3.6.1.4.1.795.2.5.0.119,CRITICAL, Adaptec.mib,sCSISmart16,.1.3.6.1.4.1.795.2.5.0.120,CRITICAL, Adaptec.mib,sCSISmart17,.1.3.6.1.4.1.795.2.5.0.121,INFORMATIONAL, Adaptec.mib,sCSISmart18,.1.3.6.1.4.1.795.2.5.0.122,INFORMATIONAL, Adaptec.mib,sCSISmart19,.1.3.6.1.4.1.795.2.5.0.123,CRITICAL, adaptec.mib,sCSISmart20,.1.3.6.1.4.1.795.2.5.0.124,INFORMATIONAL, Adaptec.mib,sCSISmart21,.1.3.6.1.4.1.795.2.5.0.125,INFORMATIONAL, ashcroft_hsv_340.mib,sCellEventTrap_02_00,.1.3.6.1.4.1.232.13600512,信息, ashcroft_hsv_340.mib,sCellEventTrap_03_21,.1.3.6.1.4.1.232.13600801,次要的,
我想存储包含adaptec.mib的行数,在本例中为21。
如何才能做到这一点?使用任何 sed/grep/awk。