한 텍스트를 다른 텍스트와 병합하고 한 필드가 변경된 후 새 텍스트로 인쇄

한 텍스트를 다른 텍스트와 병합하고 한 필드가 변경된 후 새 텍스트로 인쇄

Linux를 통해 이 문제를 처리하는 방법:

파일 1:

1 -b 2 --guide=5 --drop=3 --errors-parse --win-flags="dirwin pc_hard_no,pc_hard_expiry_month,pc_hard_expiry_year,pc_ver with hardvr.type_portals_methods_file WHERE pc_hard_no > 99999999999999 VER pc_hard_expiry_date > '2017-10-31' VER pc_ver > 0 SIZET 0, 1" --ver --timeads=10

파일 2:

99
1000000
99282828
111

결과:

1 -b 2 --guide=5 --drop=3 --errors-parse --win-flags="dirwin pc_hard_no,pc_hard_expiry_month,pc_hard_expiry_year,pc_ver with hardvr.type_portals_methods_file WHERE pc_hard_no > 99999999999999 VER pc_hard_expiry_date > '2017-10-31' VER pc_ver > 0 SIZET 99, 1" --ver --timeads=10
1 -b 2 --guide=5 --drop=3 --errors-parse --win-flags="dirwin pc_hard_no,pc_hard_expiry_month,pc_hard_expiry_year,pc_ver with hardvr.type_portals_methods_file WHERE pc_hard_no > 99999999999999 VER pc_hard_expiry_date > '2017-10-31' VER pc_ver > 0 SIZET 1000000, 1" --ver --timeads=10
1 -b 2 --guide=5 --drop=3 --errors-parse --win-flags="dirwin pc_hard_no,pc_hard_expiry_month,pc_hard_expiry_year,pc_ver with hardvr.type_portals_methods_file WHERE pc_hard_no > 99999999999999 VER pc_hard_expiry_date > '2017-10-31' VER pc_ver > 0 SIZET 99282828, 1" --ver --timeads=10
1 -b 2 --guide=5 --drop=3 --errors-parse --win-flags="dirwin pc_hard_no,pc_hard_expiry_month,pc_hard_expiry_year,pc_ver with hardvr.type_portals_methods_file WHERE pc_hard_no > 99999999999999 VER pc_hard_expiry_date > '2017-10-31' VER pc_ver > 0 SIZET 111, 1" --ver --timeads=10

이는 file1에 명령이 포함된 파일이 있고 file2의 숫자를 복사하여 명령을 한 줄씩 새 파일에 붙여넣고 그 뒤에 오는 숫자를 바꿔야 함을 의미합니다.SIZET

답변1

xargs+어때요 sed?

$ xargs -I{} -a File2 sed 's/SIZET 0, 1/SIZET {}, 1/' File1
1 -b 2 --guide=5 --drop=3 --errors-parse --win-flags="dirwin pc_hard_no,pc_hard_expiry_month,pc_hard_expiry_year,pc_ver with hardvr.type_portals_methods_file WHERE pc_hard_no > 99999999999999 VER pc_hard_expiry_date > '2017-10-31' VER pc_ver > 0 SIZET 99, 1" --ver --timeads=10
1 -b 2 --guide=5 --drop=3 --errors-parse --win-flags="dirwin pc_hard_no,pc_hard_expiry_month,pc_hard_expiry_year,pc_ver with hardvr.type_portals_methods_file WHERE pc_hard_no > 99999999999999 VER pc_hard_expiry_date > '2017-10-31' VER pc_ver > 0 SIZET 1000000, 1" --ver --timeads=10
1 -b 2 --guide=5 --drop=3 --errors-parse --win-flags="dirwin pc_hard_no,pc_hard_expiry_month,pc_hard_expiry_year,pc_ver with hardvr.type_portals_methods_file WHERE pc_hard_no > 99999999999999 VER pc_hard_expiry_date > '2017-10-31' VER pc_ver > 0 SIZET 99282828, 1" --ver --timeads=10
1 -b 2 --guide=5 --drop=3 --errors-parse --win-flags="dirwin pc_hard_no,pc_hard_expiry_month,pc_hard_expiry_year,pc_ver with hardvr.type_portals_methods_file WHERE pc_hard_no > 99999999999999 VER pc_hard_expiry_date > '2017-10-31' VER pc_ver > 0 SIZET 111, 1" --ver --timeads=10

관련 정보