문자열을 추가(접두사 및 접미사)하는 방법

문자열을 추가(접두사 및 접미사)하는 방법

다음 내용이 포함된 b.txt라는 파일이 있습니다.

libiomp5.so
libmkl_avx.so
libmkl_core.so
libmkl_def.so
libmkl_gf_ilp64.so
libmkl_gf_lp64.so
libmkl_gnu_thread.so

다음 문자열에 접두사를 추가하고 싶습니다.

cp /u01/app/oracle/product/12.1.0.2/dbhome_1/lib/

그리고 다음 문자열 접미사

/home/oracle/staging/enterpriseR/old_libs

결국엔 이렇게 보여야지

cp /home/oracle/staging/enterpriseR/old_libs/libiomp5.so /home/oracle/staging/enterpriseR/old_libs

다음을 시도했지만 오류가 발생합니다.

ls | grep *.so | sed 's/.*/cp /u01/app/oracle/product/12.1.0.2/dbhome_1/lib/&/home/oracle/staging/enterpriseR/old_libs'

파일의 일치하는 문자열에 관계없이 (접두사/접미사)를 추가해야 합니까?

답변1

사용 gawk:

gawk -i inplace '{print "cp /u01/app/oracle/product/12.1.0.2/dbhome_1/lib/"$1,"/home/oracle/staging/enterpriseR/old_libs"}' input

그리고 awk:

awk '{print "cp /u01/app/oracle/product/12.1.0.2/dbhome_1/lib/"$1,"/home/oracle/staging/enterpriseR/old_libs"}' input > output

mv output input

하지만 내 생각에 이것은XY 문제. 귀하의 목표는 이러한 파일을 복사하는 것으로 보이며 이를 수행하는 더 좋은 방법이 있어야 합니다.

관련 정보