我有一个名为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'
我是否需要追加(前缀/后缀),而不考虑文件中的匹配字符串?
使用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问题。看来您的目标是复制这些文件,并且肯定有更好的方法来进行复制。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句