여기 일부 목표를 달성하기 위해 노력하고 있습니다. 부분적인 단계를 알고있는 동안, 나는 그것을 모두 합치는데 성공하지 못했습니다. 여러 호스트에서 한 번만 사용하도록 인라인 명령을 찾고 있습니다. 의이 같은 조직 SW 저장소 파일을 보자 :bash에서 파일을 구문 분석하는 방법
이제# comments
PROD_NAME:INSTALL_DIR:OPTIONS
PROD_NAME:INSTALL_DIR:OPTIONS
PROD_NAME:INSTALL_DIR:OPTIONS
,의 우리가 파일을 처리하고 제품 하나 하나에 약간의 복사 동작을 수행 할 가정 해 봅시다. 그래서 grep
을 while do
주기에 주석 줄을 없애고, 여기서 awk
을 사용하여 각 줄을 제품 이름으로 구분하고 경로를 복사 명령으로 완성 할 수 있습니다. 그리고 그것은 내 기술 수준에 너무 많이 중첩되어 있습니다. 나는 두려워합니다. 누가 공유하고 싶습니까?
awk -f: '{print $1, $2, $3}'
공예 복사하려면 당신이 파이프에 쉘 결과가 명령 :
스크립트의 예상 출력에 대한 세부 정보를 제공하십시오. 스크립트는 무엇을할까요? 특정 답변을 얻으려면 구체적이어야합니다. 또한 "bash는 파일에서 행을 읽습니다"또는 "bash는 파일에서 행을 나누어줍니다"와 같이 자신 만의 조사를 할 수 있습니다 –
죄송합니다. 스크립트는 예를 들어 저장소 파일의 각 주석 처리되지 않은 행에 대해'cp INSTALL_DIR INSTALL_DIR/PROD_NAME' (실생활은 더 복잡하지만 괜찮습니다). – Ren
이것이 작동하는 동안'echo $ line | gawk -F '[:]' '{print $ 2}' ', 이렇게하지 않습니다 :'while read line; echo $ line | gawk -F '[:]' '{print $ 2}'; 완료 | grep [#]/var/opt/repo' – Ren