我有一个输出CSV文件,如下所示,如果CSV文件中不存在mrt WORD,则需要添加前缀。
mrt/abc .1, mrt/def .3, mrt/mlz .4, mrt/gyt .5, abc-d .6, lbr-e .7,
请告知。
假设:您想要添加"mrt/";到任何缺少前缀的字段:
使用perl一行代码:
perl -pe 's{, (?!mrt/)}{, mrt/}g' file.csv
使用bash:
IFS=","
while read -ra fields; do
fields=("${fields[@]/# /}")
for ((i=0; i<${#fields[@]}; i++)); do
[[ ${fields[i]} == mrt/* ]] || fields[i]="mrt/${fields[i]}"
done
echo "${fields[*]}"
done < file.csv
输出
mrt/abc .1,mrt/def .3,mrt/mlz .4,mrt/gyt .5,mrt/abc-d .6,mrt/lbr-e .7