我有一个如下所示的输出 CSV 文件,如果 CSV 文件中不存在 mrt WORD,则需要添加前缀。
mrt/abc .1, mrt/def .3, mrt/mlz .4, mrt/gyt .5, abc-d .6, lbr-e .7,
请指教。
答案 0 :(得分:0)
假设:您想将“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