#!/bin/bash
#file format.sh
#将某个源代码文件中的全角符号转换成半角符号
#调用astyle 将某个源代码文件转换成linux风格,缩进方式为4个空格

echo $1
#将全角空格转换成半角空格
sed -i 's/ / /' $1
sed -i y/abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ,'“"‘’”;#/abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ,\'\"\"\'\'\"\;#/ $1
astyle --style=linux --indent=spaces=4 $1

[root@test3 3]# /usr/local/bin/format.sh /home/yzn/code/3/test3_2.c
-bash: /usr/local/bin/format.sh: /bin/bash^M: bad interpreter: 没有那个文件或目录
[root@test3 3]# dos2unix /usr/local/bin/format.sh
dos2unix: converting file /usr/local/bin/format.sh to UNIX format ...

astyle 下载

http://sourceforge.net/projects/astyle/postdownload?source=dlp

astyle 安装

[root@test3 gcc]# make -f Makefile
g++ -DNDEBUG -O3 -W -Wall -fno-rtti -fno-exceptions -c -o obj/astyle_main.o ../../src/astyle_main.cpp
g++ -DNDEBUG -O3 -W -Wall -fno-rtti -fno-exceptions -c -o obj/ASBeautifier.o ../../src/ASBeautifier.cpp
../../src/ASBeautifier.cpp: In copy constructor ‘astyle::ASBeautifier::ASBeautifier(const astyle::ASBeautifier&)’:
../../src/ASBeautifier.cpp:104: 警告:基类 ‘class astyle::ASResource’ 应该在复制构造函数中显式地初始化
g++ -DNDEBUG -O3 -W -Wall -fno-rtti -fno-exceptions -c -o obj/ASFormatter.o ../../src/ASFormatter.cpp
../../src/ASFormatter.cpp: In member function ‘bool astyle::ASFormatter::isArrayOperator() const’:
../../src/ASFormatter.cpp:6392: 警告:将 NULL 转换到非指针类型 ‘bool’
../../src/ASFormatter.cpp:6395: 警告:将 NULL 转换到非指针类型 ‘bool’
g++ -DNDEBUG -O3 -W -Wall -fno-rtti -fno-exceptions -c -o obj/ASEnhancer.o ../../src/ASEnhancer.cpp
g++ -DNDEBUG -O3 -W -Wall -fno-rtti -fno-exceptions -c -o obj/ASLocalizer.o ../../src/ASLocalizer.cpp
g++ -DNDEBUG -O3 -W -Wall -fno-rtti -fno-exceptions -c -o obj/ASResource.o ../../src/ASResource.cpp
g++ -s -o bin/astyle obj/astyle_main.o obj/ASBeautifier.o obj/ASFormatter.o obj/ASEnhancer.o obj/ASLocalizer.o obj/ASResource.o

[root@test3 gcc]# ls
bin Makefile obj
[root@test3 gcc]# ls astyle
ls: astyle: 没有那个文件或目录
[root@test3 gcc]# which astyle
/usr/bin/which: no astyle in (/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)

Astyle使用教程

http://www.cppblog.com/jokes000/articles/158838.html

format 代码的更多相关文章

  1. Android Studio如何Format代码

    Android Studio如何Format代码 Reformat code Shift + CTRL + ALT + L (Win) OPTION + CMD + L (Mac)

  2. Eclipse如何自定义format代码

  3. JAVA_eclipse 保留Java文件时自动格式化代码和优化Import

    Eclipse 保存Java文件时自动格式化代码和优化Import Eclipse中format代码的快捷方式是ctrl+shift+F,如果大家想保存 java文件的时候 自动就格式化代码+消除不必 ...

  4. String.Format(string, arg0)中sring格式

    复合格式字符串和对象列表将用作支持复合格式设置功能的方法的参数.复合格式字符串由零个或多个固定文本段与一个或多个格式项混和组成.固定文本是所选择的任何字符串,并且每个格式项对应于列表中的一个对象或装箱 ...

  5. Eclipse中代码格式化配置

    一.配置formatter 从Eclipse主菜单选择“窗口→首选项”,进入“代码格式化程序”设置页.如下图所示: 确认选择的是格式化配置是Eclipse [built-in]. 注意:编写好代码后需 ...

  6. SAS FORMAT 逻辑库存储 【输出格式 没有找到或无法加载】解决方法

    SAS FORMAT 逻辑库存储 [输出格式  没有找到或无法加载]解决方法:需要指定FORMAT 搜索的路径:OPTIONS FMTSEARCH=(F WORK); 以下为完整示例代码: 00@DA ...

  7. 关于‘1001.A+B Format (20)’的解题报告

    1001.A+B Format(20) 首先要感谢一下指导我github上传问题的小伙伴们,捣腾了一整天我终于摸到了一点门路,真的谢谢你们. 小豪的github 问题描述: Calculate a + ...

  8. VS2019 开发Django(七)------VS2019不能格式化html代码

    如题,在VS2019中不能使用快捷键Ctrl+K,+D格式化html代码,印象中之前的版本是可以的吧!不太确定,这给我带来了很大的麻烦,在编写Django项目的时候,标准的模板是新建的html文件,不 ...

  9. Java代码格式化规范实践总结

    目标说明 统一良好的代码格式规范可以有效提升开发团队之间的「协作效率」,如果不同的开发团队或者开发人员采用不同的代码格式规范,那么每次Format代码都会导致大量的变化,在Code Review及Me ...

随机推荐

  1. Go语言总结

  2. spring cloud+.net core搭建微服务架构:Api网关(三)

    前言 国庆假期,一直没有时间更新. 根据群里面的同学的提问,强烈推荐大家先熟悉下spring cloud.文章下面有纯洁大神的spring cloud系列. 上一章最后说了,因为服务是不对外暴露的,所 ...

  3. Java高并发之线程池详解

    线程池优势 在业务场景中, 如果一个对象创建销毁开销比较大, 那么此时建议池化对象进行管理. 例如线程, jdbc连接等等, 在高并发场景中, 如果可以复用之前销毁的对象, 那么系统效率将大大提升. ...

  4. OkHttp3 任务队列

    OkHttp3 有两种运行方式: 1.同步阻塞调用并且直接返回: 2.通过内部线程池分发调度实现非阻塞的异步回调; 下面讲的是非阻塞异步回调,OkHttp在多并发网络下的分发调度过程,主要是Dispa ...

  5. 从逻辑思维中学习CSS,从宽高说起

    从宽高说起 从宽高说起,我们知道一个物体的大小是由长.宽.高三个方向的尺寸决定的,但是你想啊电脑显示器是一个平面的,而不是3维,另因网页大部分情况下只需要使用到2维,所以为了简单在CSS中只有宽和高的 ...

  6. JavaWeb学习 (二十)————JavaWeb的两种开发模式

    一.JSP+JavaBean开发模式 1.1.jsp+javabean开发模式架构 jsp+javabean开发模式的架构图如下图(图1-1)所示

  7. c# 检测是否有Sql非法字符

    /// <summary> /// 检测是否有Sql危险字符 /// </summary> /// <param name="str">要判断字 ...

  8. 在CentOS下的docker容器中部署spring boot应用的两种方式

    我们通常在 windows 环境下开发 Java,而通常是部署在Linux的服务器中,而CentOS通常是大多数企业的首选,基于Docker的虚拟化容器技术,多数Java应用选择这种方式部署服务.本文 ...

  9. 【18】观察者模式(Observer Pattern)

    一.引言 在现实生活中,处处可见观察者模式.例如,微信中的订阅号,订阅博客和QQ微博中关注好友,这些都属于观察者模式的应用.在这一章将分享我对观察者模式的理解,废话不多说了,直接进入今天的主题. 二. ...

  10. HTML暗黑料理之a标签执行请求不跳转页面

    不是被逼无奈不建议用这HTML暗黑料理. <iframe id="></iframe> <a class="large green button&qu ...