服务Linux 自动排版:轻松达到最佳格式(linux排版)
服务Linux 自动排版意味着让Linux服务器自动对源代码进行格式化,使其具有最佳的可读性和易维护性,从而提高服务器运行效率,减少出错率。大多数代码写作在保存文件之前都需要进行格式化操作,例如把一个文件的行数由 35 增加到 50 或者把一个文件的缩进由 2 空格改到 4 空格等等。
在编写Linux服务器代码时,可以使用一些常用编辑器,比如vim、emacs等以及脚本排版工具,如apgraph等,脚本排版工具可以定义一组格式模板,以便能够使用这组格式模板直接格式化代码。
有时需要分模块或文件整理一份颇为杂乱的代码文件,简单使用 vim 命令无法快速地完成,可以使用两个Linux脚本辅助排版:sort-files.sh 和 print-files.sh,它们可以根据文件中的提取信息对文件分类排序,或者将文件按照指定的大小格式进行打印。该代码如下:
#!/bin/bash
# Sort files according to extracted info
files=( path/to/files/* )
files_info=( $(echo “/${files[@]//\// }” | xargs file -b –mime-type | sed -e ‘s!/!_!g’) )
for f in ${files_info[@]}; do
name=${f%_(*}
mime=${f#*_(}
case ${mime} in
text/* ) echo “${name}: text”;;
image/* ) echo “${name}: image”;;
*) echo “${name}: other”;;
esac
done| sort
# Print files according to a given size format
# This script is used to format output to a given size
# Arguments:
# –file : specify file for formatting
# –format : specify format of ouput
if [ $# -eq 0 ]; then
echo “Usage: $(basename $0) [–file ] [–format ]”
fi
while [ $# -gt 0 ]; do
case $1 in
–file ) filename=$2; shift 2;;
–format) formatString=”–format=$2″ ;shift 2;;
* ) echo “Unknown argument: $1” ; exit 1;;
esac
done
#判断filename 是否存在
if [ -z “${filename}” ]; then
echo “Please specify a filename”
exit 1
fi
#判断formatString 是否有值
if [ -z “${formatString}” ]; then
echo “Please specify format string”
exit 1
fi
#格式化输出文件内容
length=$(wc -l ${filename} | awk ‘{print$1}’)
for (( i=1;i
do
lineNumber=$(printf ${formatString} ${i})
content=$(head -n ${i} ${filename} | tail -n 1)
echo “${lineNumber}: ${content}”
done
通过使用这两个脚本,可以轻松实现针对分类、排序、打印和格式化文件内容。这些操作可以大大提高代码质量,增强代码可读性,以及减少出错率。而这些都可以用两个简单的Linux脚本实现,从而轻松实现服务Linux自动排版,达到最佳格式。