如何附加(前缀和后缀)字符串

如何附加(前缀和后缀)字符串

我有一个名为 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问题。看来您的目标是复制这些文件,并且肯定有更好的方法来做到这一点。

相关内容