gawk创建标题和脚本

就像地球上几乎每个人一样,我有一些社交媒体帐户。 我主要坚持使用Facebook与朋友和家人保持最新状态,并关注Twitter和其他人。

您是否曾经想发表过包含斜体或其他花哨的格式的帖子? 在编写电子邮件时,您可以轻松地将文本更改为斜体或粗体,但是大多数社交媒体平台都不提供许多格式设置选项。

有时,我只是想在我的写作中强调一点。 如果我过得非常愉快,并且想与我的朋友分享,我可能希望将其文本用斜体表示。 对于其他帖子,我可能想使用其他格式来帮助我的文字突出。 当然,您可以使用表情符号,但是有时候,一些文本格式可以将多余的内容添加到您的帖子中。

我编写的Gawk脚本可以创建精美的格式,然后将其复制并粘贴到我的社交媒体帖子中。

特殊HTML

HTML包含了一堆特殊的字符,用于数学,符号和大多数人不了解的其他语言。 在数学标记语言( MathML )数学字符支持中,HTML包括用于脚本字符,fraktur字符和double-strike(在此图像中分别显示)字符的字母的备用版本。

您可以使用这些字母的替代版本来创建精美的文本。

脚本字母变体形式写为字母,后跟scr 。 字符可以是大写或小写。 例如,要在HTML页面中打印脚本字母a ,请键入𝒶。 ,然后在HTML中打印脚本字母Z ,请输入𝒵。

碎裂和重击变体的引用方式相似。 分数数学小写字母a𝔞 ,且大写字母 Y𝔜。 。 数学上的两次打击a称为𝕒。 ,两次击键 X𝕏

Gawk函数

一旦知道了如何引用每个字母的替代版本,就可以轻松定义一些Gawk函数来打印这些HTML实体。 由于这些替代字符仅存在于字母中,不存在标点符号或数字,因此从简单的包装函数开始确定一个字符是大写还是小写字母。

#!/usr/bin/gawk -f
# Echo the input as different "fonts." Redirect this into an html
# page and copy/paste fancy text into twitter or facebook.

BEGIN { alpha="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; }

function is_alpha(c) {
return(index(alpha, c));
}


BEGIN语句定义了一个称为alpha的字母字符串,其中包含所有字母a–z和A–Z。 is_alpha(c)函数使用内置的index()函数返回字符c在字符串alpha中的位置 。 如果字符c不是字母,则index()返回零,该脚本将其用作False值。

因为is_alpha(c)函数只是“包装”对index()函数的调用,而无需执行其他任何操作。 这称为包装函数。 将其视为使Gawk脚本更易于阅读的简写。

这样,很容易定义一些将单个字母转换为字母表的每个备用版本的函数。 通常,每个函数都会调用is_alpha(c)来确定字符是字母a–z还是A–Z。 如果是(即,如果返回的值非零),则该函数以脚本,fraktur和double-strike的形式打印该字母HTML实体。 否则,该功能将打印字母。

function print_script(c) {
if ( is_alpha(c) ) { printf("&%cscr;", c); } else { printf("%c", c); }
}
function print_fraktur(c) {
if ( is_alpha(c) ) { printf("&%cfr;", c); }  else { printf("%c", c); }
}
function print_double(c) {
if ( is_alpha(c) ) { printf("&%copf;", c); } else { printf("%c", c); }
}

print_script(c)函数在脚本中打印单个字母。 类似地, print_fraktur(c)函数以fraktur的形式打印字母,而print_double(c)函数以双行的形式打印单个字母。

剩下的就是一个Gawk循环,可将纯文本转换为每个备用字母字符。 该脚本在每行上循环三遍,并以脚本,fraktur或双击的形式打印文本。 每行都用<p></ p> HTML标记包裹。

{ text=$0;
len=length(text);

print "<p>";
for (i=1; i<=len; i++) {
print_script( substr(text, i, 1) );
}
print "</p><p>";
for (i=1; i<=len; i++) {
print_fraktur( substr(text, i, 1) );
}
print "</p><p>";
for (i=1; i<=len; i++) {
print_double( substr(text, i, 1) );
}
print "</p>";
}


放在一起

我将以上行保存在一个名为htmlecho的脚本文件中,并将其放在我的〜/ bin目录中。

$ htmlecho > /tmp/hello.html
Hello world
^Z

每当我想在我的Facebook和Twitter帖子中添加花哨的文本时,我只要运行脚本并将输出保存到临时HTML页面即可。 我在网络浏览器中打开临时页面,然后将最喜欢的文本复制并粘贴到社交媒体帖子中。

翻译自: https://opensource.com/article/20/1/gawk-scripting-social-media

gawk创建标题和脚本

gawk创建标题和脚本_使用此Gawk脚本为社交媒体帖子创建精美的文本相关推荐

  1. unity双击打不开脚本_游戏对象和脚本 (创建一个时钟)

    该文章是一篇译文,附上原文链接 Game Objects and Scripts​catlikecoding.com 使用简单对象构建一个时钟 编写一个C#脚本 转动时钟的指针来显示时间 创建指针动画 ...

  2. wordpress添加媒体_如何在WordPress中添加社交媒体共享计数小部件

    wordpress添加媒体 Earlier on this blog, we created a Social Media Cheat Sheet for WordPress, but that on ...

  3. 我的世界服务器java启动脚本_教程/服务器启动脚本

    警告 因为这是Wiki的一个条目,可以在任何时间内被任何人编辑,因此建议你不要完全使用这个脚本,而是将其当作编写脚本的指导手册看待. 这是一个可供参考的Minecraft启动脚本示例,并使用GNU/L ...

  4. 路由器运行python脚本_写个Python脚本来登录小米路由器

    这个脚本写起来难度并不是很大,博主还是一步步的分析下,这样思路会比较清晰,下次遇到类似系统脚本写起来也更快速.好了,一起来分析分析. 首先看下小米路由器的登录界面 可以看到只需要输入密码即可登录,博主 ...

  5. redchat怎么编写shell脚本_如何写shell脚本?尝试自己编写一个简单脚本

    1. 创建Shell脚本文件 2. 显示消息 3. 使用变量 4. 反引号 5. 重定向输入输出 6. 管道 7. 执行数学运算 8. 退出脚本 1. 创建脚本文件的时候,必须将文件的第一行指定要使用 ...

  6. 域控下发脚本_域用户登陆脚本

    如何为一个域用户设置登陆脚本? - BAT可否作为登陆脚本? - 在域用户"属性"中,应如何指定登陆脚本名?"D:\x.bat"还是"\\srv\x. ...

  7. mysql创建表属性引_【学习之Mysql数据库】mysql数据库创建表的属性详解

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 MySQL中create table语句的基本语法是: CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name ...

  8. python sql脚本_使用Python SQL脚本进行数据采样

    python sql脚本 介绍 (Introduction) The Python programming language is object oriented, easy to use and, ...

  9. cgi脚本_如何使用CGI脚本生成网页

    cgi脚本 在我最初创建自己的第一个商业网站的互联网时代,生活是美好的. 我安装了Apache,并创建了一些简单HTML页面,这些页面陈述了有关我的业务的一些重要内容,并提供了重要信息,例如产品概述以 ...

最新文章

  1. premiere pr 波纹编辑 滚动编辑 比率拉伸 工具使用
  2. virtualenv使用
  3. Spark on Yarn集群多Application并行执行
  4. (转)Kafka 消费者 Java 实现
  5. mybatisplus 操作另一个数据库的数据_MySQL数据库的基础操作
  6. pycharm 安装 jupyter
  7. leetcode - 46. 全排列(对vector容器的元素进行搜索,判断是否存在vector中)
  8. ARM11---中断---向量中断控制器(VIC)---结合s3c6410
  9. jQueryUI modal dialog does not show close button (x) JQueryUI和BootStrap混用时候,右上角关闭按钮显示不出图标的解决办法...
  10. The operation of Debian is much
  11. ThinkPHP 3 的输出
  12. python语法学习第十天--类与对象
  13. cpu_time()函数
  14. java自学一般要学多久?学会了有什么作用?
  15. 【疯狂游戏】游戏策划面经
  16. 禅道项目管理——bug管理工具
  17. r语言Isfit_应用统计学与R语言实现学习笔记(七)——拟合优度检验
  18. PIC单片机C语言编程教程
  19. 数字图像处理:实验八 遥感图像增强
  20. 2022年旅游业数据分析报告

热门文章

  1. 深入Vue底层,手写一个vuex
  2. 电脑强制删除顽固文件
  3. python空类型用什么表示_python空集合如何表示
  4. linux如何ping多个ip,如何同时Ping多个IP地址并保存记录 | 个人信息技术网
  5. 绘制cos和sin图表
  6. 当代大学生的生活痛点
  7. android assets大小限制200m,使用 AssetsManager 解决微信小游戏包体积尺寸限制问题
  8. 指令系统 —— 指令格式
  9. HMM(Hidden Markov Model)
  10. python doc 转docx