Bash 字符串操作
Bash string operation
作为一个完全的初学者,我正在尝试将 markdown 文件转换为 confluence 标记。
我需要将 [Title](https:// site.com)
变成 [Title|https:// site.com]
。如果它只是一个 link,我可以将它添加到一个 var 中并打印它,但是如果我有 10 个 link,我就无法弄清楚如何去做。
以前我使用 CONTENT=$(echo "${CONTENT//# /h1. }") 来替换字符串,但由于现在每个字符串都不同,所以我一直在解决这个问题。我在 javascript 中找到了解决方案:http://chunpu.github.io/markdown2confluence/browser 但无法理解如何在 bash 中做到这一点。
对于这个测试文件
$ cat file
[Title](https://site1.com)
[Title](https://site2.com)
[Title](https://site3.com)
[Title](https://site4.com)
[Title](https://site5.com)
[Title](https://site6.com)
[Title](https://site7.com)
[Title](https://site8.com)
[Title](https://site9.com)
[Title](https://site10.com)
Sed 变体:
$ sed 's/\](/|/;s/)/\]/' file
[Title|https://site1.com]
[Title|https://site2.com]
[Title|https://site3.com]
[Title|https://site4.com]
[Title|https://site5.com]
[Title|https://site6.com]
[Title|https://site7.com]
[Title|https://site8.com]
[Title|https://site9.com]
[Title|https://site10.com]
Bash 变体:
while read -r line; do
line=${line//](/|}
line=${line//)/]}
echo $line
done < file
[Title|https://site1.com]
[Title|https://site2.com]
[Title|https://site3.com]
[Title|https://site4.com]
[Title|https://site5.com]
[Title|https://site6.com]
[Title|https://site7.com]
[Title|https://site8.com]
[Title|https://site9.com]
[Title|https://site10.com]
Awk 变体:
$ awk '{ sub(/\]\(/, "|"); sub(/\)/, "]"); print }' file
[Title|https://site1.com]
[Title|https://site2.com]
[Title|https://site3.com]
[Title|https://site4.com]
[Title|https://site5.com]
[Title|https://site6.com]
[Title|https://site7.com]
[Title|https://site8.com]
[Title|https://site9.com]
[Title|https://site10.com]
作为一个完全的初学者,我正在尝试将 markdown 文件转换为 confluence 标记。
我需要将 [Title](https:// site.com)
变成 [Title|https:// site.com]
。如果它只是一个 link,我可以将它添加到一个 var 中并打印它,但是如果我有 10 个 link,我就无法弄清楚如何去做。
以前我使用 CONTENT=$(echo "${CONTENT//# /h1. }") 来替换字符串,但由于现在每个字符串都不同,所以我一直在解决这个问题。我在 javascript 中找到了解决方案:http://chunpu.github.io/markdown2confluence/browser 但无法理解如何在 bash 中做到这一点。
对于这个测试文件
$ cat file
[Title](https://site1.com)
[Title](https://site2.com)
[Title](https://site3.com)
[Title](https://site4.com)
[Title](https://site5.com)
[Title](https://site6.com)
[Title](https://site7.com)
[Title](https://site8.com)
[Title](https://site9.com)
[Title](https://site10.com)
Sed 变体:
$ sed 's/\](/|/;s/)/\]/' file
[Title|https://site1.com]
[Title|https://site2.com]
[Title|https://site3.com]
[Title|https://site4.com]
[Title|https://site5.com]
[Title|https://site6.com]
[Title|https://site7.com]
[Title|https://site8.com]
[Title|https://site9.com]
[Title|https://site10.com]
Bash 变体:
while read -r line; do
line=${line//](/|}
line=${line//)/]}
echo $line
done < file
[Title|https://site1.com]
[Title|https://site2.com]
[Title|https://site3.com]
[Title|https://site4.com]
[Title|https://site5.com]
[Title|https://site6.com]
[Title|https://site7.com]
[Title|https://site8.com]
[Title|https://site9.com]
[Title|https://site10.com]
Awk 变体:
$ awk '{ sub(/\]\(/, "|"); sub(/\)/, "]"); print }' file
[Title|https://site1.com]
[Title|https://site2.com]
[Title|https://site3.com]
[Title|https://site4.com]
[Title|https://site5.com]
[Title|https://site6.com]
[Title|https://site7.com]
[Title|https://site8.com]
[Title|https://site9.com]
[Title|https://site10.com]