CSV 파일이 있습니다 file.csv
.
Action,Type,Name,Destination
Add,File,File1.war,path
Add,File,File2.properties,path
Add,Directory,File3.war,path
이 파일을 소스 및 대상 위치의 각 행에 대해 파일이 있는지 확인하는 while 루프에 대한 입력으로 제공했으며 조건이 true이면 값을 메모라는 새 열에 반환하고 성공 또는 실패를 반환해야 합니다. 비고 추가.
while IFS="," read f1 f2 f3 f4
do
statements
done < file.csv.
각 행의 출력을 기반으로 다섯 번째 열에 값을 추가하고 싶습니다. 내가 필요한 출력은 다음과 다소 비슷합니다.
Action,Type,Name,Destination,Remarks
Add,File,File1.war,path,Success
Add,File,File2.properties,path,Fail
Add,Directory,File3.war,path,Fail
답변1
awk
귀하가 제공한 일부 정보를 기반으로 일부 무의미한 검사를 귀하가 대체한 일부 솔루션 NR % 2
(→짝수 행 번호):
awk 'BEGIN {OFS=FS=","} {print $0,(NR % 2 ? "True": "False")}' << 'EOF'
1,2,3,4
1,2,3,4
1,2,3,4
1,2,3,4
EOF
스크립트에서 등을 사용하여 $1
열을 참조하고 다음을 확인합니다.$2
awk
산출:
1,2,3,4,True
1,2,3,4,False
1,2,3,4,True
1,2,3,4,False
이스케이프된 쉼표(예 \,
: 따옴표 사용)는 지원되지 않습니다.