저는 하드웨어 공급 업체가 제공하는 sed (여기에서 자습서를 찾았습니다 : Grymoire) ASCII 파일로 마사지를 해왔습니다. 파일에는여러 줄로 된 Sed가 패턴을 대체하지 않습니다
Model-Manufacturer:D12-500
Test_Version:2.6.3
같은 구조를 가지고 그러나 우리가받는 일부 파일이 무작위로 "깨진"하고 대한 항목이 그리워 "모델 제조 업체 :"
Model-Manufacturer:D12-500
Test_Version:2.6.3
Model-Manufacturer:H24-700
Test_Version:2.6.3
Test_Version:2.6.3
Model-Manufacturer:R15-300
Test_Version:2.6.3
내가 Sed의이 문제를 해결하려면 및 "Model-Manufacturer : N/A"에 대해 누락 된 항목을 "Test_Version : 2.6.3"의 두 번째 항목 앞에 배치하십시오. 이것은 내 코드입니다
sed -n '
/Test_Version/ {
# found "Test_Version" - read in next line
N
# look for "Test_Version" on the second line
# and print if there.
/\n.*Test_Version/ {
# found it - now edit making one line
s/Test_Version/Model-Manufacturer:N/A/
}
}' infile > outfile
작동하지 않습니다. 교체를하기 전에 각 "Test_Version"및 "Model_Manufacturer"의 위치를 기억해야한다고 생각합니다. 나는 sed로 이것을 할 수 있을까?
미리 감사드립니다.
나의 대타는 오프되었다. 너의 것이 속임수 였어. 고맙습니다. 개인적인 메모에서, sed는 정말로 **를 찰깍 소리가납니다. – Chris