내 스크립트는 다음과 같은 입력 파일을 사용합니다.
user:tag:count
사용자를 가져와서 페이지에서 검색하고 사용자를 가리키는 URL을 출력합니다. 이 작업이 완료되면 입력 파일을 다음으로 변경해야 합니다.
user:tag:count:URL
스크립트는 i=line1에서 시작하고 마지막 줄에서 끝나는 while 루프입니다. 따라서 루프가 작업 중인 줄은 $i에 저장되고, 얻은 URL은 $url에 저장됩니다.
일반적으로 나는 sed를 사용하여 이 작업을 수행하지만 변수에 "/"가 포함되어 있으면 문제가 발생했습니다. 나는 awk로 그것을 시도했다:
awk -v iv="$i" 'NR == iv' input | awk -v var="$count" '{print $0 ":"var}'
올바른 줄에 URL을 추가하지만, 종종 내가 원하는 방식으로 입력 파일을 편집하는 데 도움이 되지 않습니다.
파일을 편집할 수 있도록 2개의 awk를 하나로 병합할 수 있는 방법이 있나요?
답변1
sed
구분 기호가 아닌 문자와 함께 사용하세요 /
. 예를 들어:
sed 's|foo|bar|'
하지만 그렇습니다. 두 개의 awk 명령을 결합할 수도 있습니다.
awk -v iv="$i" -v var="$count" 'NR == iv{print $0 ":"var}'