내 스크립트는 다음과 같은 입력 파일을 사용합니다.
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개의 awks를 하나로 병합할 수 있는 방법이 있습니까?
답변1
sed
구분 기호가 아닌 문자와 함께 사용하세요 /
. 예를 들어:
sed 's|foo|bar|'
하지만 그렇습니다. 두 개의 awk 명령을 연결할 수도 있습니다.
awk -v iv="$i" -v var="$count" 'NR == iv{print $0 ":"var}'