我的非工作代码示例(错误行 - > empty = $ empty \ n $ url):
empty=""
IFS=$'\n'
for line in $s; do
if [[ $line =~ $regex ]]; then
url="${BASH_REMATCH[2]}${BASH_REMATCH[1]}"
echo $url
empty=$empty\n$url
else
echo "$s does not match"
fi
done
echo $empty|sort -f -t/ -k 4
我尝试重建由for循环分割的修改后的行。
答案 0 :(得分:2)
empty="$empty"$'\n'"$url"
$'\n'
是bash中的文字换行符(双引号变量引用在这里并不是必需的,但有助于提高可读性;替代方法:empty=${empty}$'\n'${url}
)。
printf
的替代解决方案:
printf -v empty '%s\n%s' "$empty" "$url"
答案 1 :(得分:0)
字符串文字可以嵌入换行符:
entry="$entry
$url"
或
entry+="
$url"