我有以下bash腳本:遍歷文件和SED替代每一行
while IFS= read -r line; do
line=$(echo $line | sed "s/\'/\'\'/")
[[ $line =~ ^\<ID\>(.*) ]] && printf "${BASH_REMATCH[1]}"
done < <(dos2unix < file)
編輯的腳本的版本,而DOS2UNIX的:
while IFS= read -r line && line=${line%$'\r'}; do
[[ $line =~ ^\<ID\>(.*) ]] && printf "${BASH_REMATCH[1]}"
done < file
我想替換每個單引號中的「文件」與2撇號之前我循環通過它。我怎樣才能做到這一點?我很感激任何有關這兩個版本的建議。 重要 Im NOT允許修改原始文件!
你''在那裏。這是XML嗎?如果是這樣,那麼使用XML解析器是一個非常好的主意。 –
Sobrique
@Sobrique Im從文本文件中提取數據以創建一個sql文件,然後執行.read file.sql來創建和加載數據庫 –
「不能正常工作」是什麼意思? –