Bash 用大写字母替换句子的第一个符号
我需要帮助将输入文件Bash 用大写字母替换句子的第一个符号,bash,capitalization,capitalize,Bash,Capitalization,Capitalize,我需要帮助将输入文件input.txt中句子中第一个单词的第一个字母大写: 这是我的第一句话。这是第二句话。那个是第三个 我想在输出文件output.txt中使输出看起来像这样: 这是我的第一句话。这是第二句话。那个是第三个 试试这个: sed -r "s/(^|\.\s+)./\U&/g" <input.txt >output.txt sed-r“s/(^ | \.\s+)/\U&/g“output.txt 试试这个: sed -r "s/(^|\.\s+)./\U&am
input.txt
中句子中第一个单词的第一个字母大写:
这是我的第一句话。这是第二句话。那个是第三个
我想在输出文件output.txt
中使输出看起来像这样:
这是我的第一句话。这是第二句话。那个是第三个
试试这个:
sed -r "s/(^|\.\s+)./\U&/g" <input.txt >output.txt
sed-r“s/(^ | \.\s+)/\U&/g“output.txt
试试这个:
sed -r "s/(^|\.\s+)./\U&/g" <input.txt >output.txt
sed-r“s/(^ | \.\s+)/\U&/g“output.txt
那么awk
方式呢
$ awk -F"\. " '{OFS=". "}{for (i=0;i<=NF;i++) {sub(".", substr(toupper($i), 1,1) , $i)}} {print}' output.txt
This is my first sentence. And this is the second sentence. That one is the third.
$awk-F“\.”{OFS=“.”}{for(i=0;i那么awk
方式呢
$ awk -F"\. " '{OFS=". "}{for (i=0;i<=NF;i++) {sub(".", substr(toupper($i), 1,1) , $i)}} {print}' output.txt
This is my first sentence. And this is the second sentence. That one is the third.
$awk-F“\.”{OFS=“.”}{for(i=0;ibash版本4
方式:
#!/usr/local/bin/bash
while IFS="." read -r -a line ; do
for ((i=0; i<${#line[@]}; i++)) do
if [[ $i > 0 ]]; then
temp=$(echo ${line[$i]/ /})
echo -n "${temp^}. "
else
echo -n "${line[$i]^}. "
fi
done
echo
done < file
!/usr/local/bin/bash
而IFS=“”读取-r-a行;执行
对于((i=0;i 0]]),则
temp=$(echo${line[$i]/})
echo-n“${temp^}”
其他的
echo-n“${line[$i]^}”
fi
完成
回声
完成<文件
bash版本4
方式:
#!/usr/local/bin/bash
while IFS="." read -r -a line ; do
for ((i=0; i<${#line[@]}; i++)) do
if [[ $i > 0 ]]; then
temp=$(echo ${line[$i]/ /})
echo -n "${temp^}. "
else
echo -n "${line[$i]^}. "
fi
done
echo
done < file
!/usr/local/bin/bash
而IFS=“”读取-r-a行;执行
对于((i=0;i 0]]),则
temp=$(echo${line[$i]/})
echo-n“${temp^}”
其他的
echo-n“${line[$i]^}”
fi
完成
回声
完成<文件
如果您先展示您尝试过的内容,我们可以帮助您。提示:可能涉及使用perl
或awk
。欢迎使用。请花些时间阅读。如果您先展示您尝试过的内容,我们可以帮助您。提示:可能涉及使用perl
或awk
。欢迎使用。请花点时间阅读o、 我发现它不适用于所有UTF8符号。这适用于斯洛伐克语系统和有时以ľťťžýáíéď等开头的句子。我想解决这个问题?如果您的语言环境设置正确,它应该会起作用(请参阅)我把我的语言环境改成了斯洛伐克的utf8,但它不起作用。它用一些robish字符替换了特殊字符。有什么想法吗?我用德语UTF-8语言环境检查了一下,效果很好。你是否调整了LANG
和LC.*
?你的终端支持UTF-8吗?你好,我发现它不支持所有utf8符号。这是对于斯洛伐克语系统和有时以ľťťžýýáíéď等开头的句子,我有解决这个问题的想法吗?如果您的语言环境设置正确,它应该会起作用(请参阅).我把我的语言环境改成了斯洛伐克utf8,但它不起作用。.它用一些粗体字符替换了特殊字符。有什么想法吗?我用德语UTF-8语言环境检查了一下,效果很好。你是否调整了LANG
和LC_*
?你的终端支持UTF-8吗?谢谢,它起作用了,但以ľ开头的句子不起作用ťťťýýýýýýď等。有什么想法吗?@Tommybash v4
处理它。如果没有,那么你的locale
就不能处理这个问题。你可能至少需要将LCýCTYPE
设置为一个UTF-8
变体。谢谢你,但它对以ťťýýýýýýýý想法?@Tommybash v4
处理它。如果没有,则您的locale
无法处理此问题。您可能至少需要将LC\u CTYPE
设置为UTF-8
变体。