我有一个名为sfe_mail.txt的文件,其内容为
Katia Dargains
Artur Santos
Marcio Breder
Luis Plum
Michel Aguiar
Vinicius Lourenco
Willian Wendling
Paulo Araujo
我想用点替换单词之间的空格和制表符。
我发出了命令:
awk '{ gsub (/ \t+/,".");print}' sfe_mail.txt
但它不起作用。你能告诉我什么不对吗
答案 0 :(得分:4)
选项卡和空格是awk中的默认字段分隔符。将输出字段分隔符设置为//define template
var template = $('#content:first').clone();
//define counter
var count = 0;
//add new section
$('body').on('click', '#repeat', function() {
//increment
count++;
//remove cross button div
template.clone().find('cross').removeAttr("#cross");
//update id of ifYes & ifNo
template.clone().find('#ifYes').attr("id", "#ifYes"+count);
template.clone().find('#ifNo').attr("id", "#ifNo"+count);
//loop through each input
var inputSection = template.clone().find(':input').each(function(){
//set id to store the updated section number
var newId = this.id + count;
//update id
this.id = newId;
}).end()
//inject new section with animation
.appendTo('#content').hide()
.appendTo('#content').slideDown(500)
return false;
});
//remove section
$('#content').on('click', '.cross', function() {
//slide up section
$(this).parent().slideUp(500, function(){
//remove parent element (main section)
$(this).parent().child().empty();
return false;
});
return false;
});
,使用.
重建记录并输出:
$1=$1
如果您坚持使用$ awk -v OFS="." '{$1=$1;print}' file
Katia.Dargains
Artur.Santos
Marcio.Breder
Luis.Plum
Michel.Aguiar
Vinicius.Lourenco
Willian.Wendling
Paulo.Araujo
:
gsub
您的匹配正则表达式为$ awk '{gsub(/[\t ]+/,".");print}' file
即。 2个空格和一个或多个标签。
答案 1 :(得分:2)
简单 sed 替代方案:
sed 's/[[:space:]]\+/./' file
对于 awk ,以下一个对您来说最简单:
awk '{ print $1"."$2 }' file
答案 2 :(得分:1)
使用awk的简单解决方案
awk '{ print $1"."$2 }' sfe_mail.txt
您还可以尝试 tr ,如@James在评论
中建议的那样tr -s '[:blank:]' . < sfe_mail.txt