- 浏览: 151148 次
- 性别:
- 来自: 珠海
最新评论
-
xiaowangzaixian:
写的使用,顶一个 呵呵
Linux_vi使用小结_插入_复制_粘贴_删除_剪切_撤销_查找_转到_快速保存退出_设置行号 -
AllenNewOk:
william_ai 写道这样写更简洁(txt->sh) ...
批量重命名的一个shell脚本,当前目录及其所有子目录------依然繁琐 -
AllenNewOk:
lynnlni 写道搞那么多……
我更喜欢One Line脚本 ...
批量重命名的一个shell脚本,当前目录及其所有子目录------依然繁琐 -
william_ai:
这样写更简洁(txt->sh):
find . -nam ...
批量重命名的一个shell脚本,当前目录及其所有子目录------依然繁琐 -
lynnlni:
搞那么多……
我更喜欢One Line脚本。
/softwa ...
批量重命名的一个shell脚本,当前目录及其所有子目录------依然繁琐
文章列表
这是在上一篇脚本之上的改进,可以支持目录及其所有子目录中的文本文件重命名,亦为练习之作。Ubuntu 8.04.4上测试通过。
#!/bin/bash
# Rename_AllChildrenDirectories.sh
# 问题描述:
# 某目录及其子目录中出现一些以“;1”结尾的文本文件名,编写shell脚本,
# 以去除这个目录及其子目录中所有该类文件名中结尾部分的“;1”。
# COUNT用于计数,错误输入的情况下,默认为允许3次尝试。
COUNT=0
while [ $COUNT -lt 3 ]
do
echo "请输入要重命名的文件所在父目录的路 ...
实现某类文本文件的重命名,作为练习。Ubuntu 8.04.4上测试通过。
#!/bin/bash
# Rename_OnlyOneDirectory.sh
# 问题描述:
# 某目录中出现一些以“;1”结尾的文本文件名,编写shell脚本,
# 以去除仅当前这个目录中该类文件名中结尾部分的“;1”。
# COUNT用于计数,错误输入的情况下,默认为允许3次尝试。
COUNT=0
while [ $COUNT -lt 3 ]
do
echo "请输入要重命名的文件所在目录的路径:"
read PATH
if [ -d $PATH ...
一道考题,回忆了一下,完善了一下。
#!/bin/bash
# 问题描述:输入一个路径,如果该路径是指目录,则将该目录中的所有文件
# (包括文件夹)全部拷贝到另一个已经存在的用户test_user根目录下tmp
# 目录中的一个自定义的文件夹里,并更改其用户为test_user。
# (假设对所涉及到的相关目录及文件具有相应的读、写或可执行权限)
echo "请输入路径:"
read PATH
if [ -d $PATH ]
then
echo "该路径为目录,将执行拷贝。"
echo "............. ...
简单比较C与C++在内存分配与释放中指针及其所指向的变量的变化,使用gcc 、g++编译。
示例一_C:
Example_One:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int *p;
printf("%p\n",p);
printf("%d\n\n",*p);
p=(int*)malloc(sizeof(int));
printf("%p\n",p);
printf("%d\n\n&qu ...
实现字符串中的数字转换为整型,具体规则见源码注释。gcc编译通过。
第一种代码,过程有些繁琐:
#include<stdio.h>
/* 求幂
* 此处求幂也可以调用math.h中的函数pow(),
* 编译时添加“-lm”参数。 */
double mypow(double x,double y)
{
int tmp=1;
while(y-->0)
{
tmp*=x;
}
return tmp;
}
/* 转化字符串中的数字字符到整数。规则如下:
* 1、如果字符串开始是一个字母,则返回零;
* ...
strcmp函数的两种实现,gcc测试通过。
一种实现:
#include<stdio.h>
int strcmp(const char *str1,const char *str2)
{
/* 注释以下的五行(while循环)可以简写为:
* for(;(*str1==*str2)&&*str1!='\0';str1++,str2++);
* */
while((*str1==*str2)&&*str1!='\0')
{
str1++;
str2++;
}
if(*str1=='\0 ...
C语法的几个小测试,十分无聊……
#include<stdio.h>
int main()
{
int a=2,b=1;
/* 验证表达式正确的运算方式,gcc对a+++b是以(a++)+b来处理的,或与规范有关,但确实“贪心” */
printf("a+++b = %d,\ta = %d\n",a+++b,a);
/* 验证括号中逗号表达式的作用,取最后一个逗号后的值,但括号内所有运算照旧 */
printf("(a++,0,a-b)+b = ...
for循环与续行符“\”测试
- 博客分类:
- C/C++
for循环与续行符“\”小测
#include<stdio.h>
/* 该程序主要验证for循环的含义,关注其中变量i的变化 */
int main()
{
int i;
/* 续行符“\”的右边紧邻位置不能出现空格,在语句的自然停顿处也可以直接换行而不使用续行符 */
for(i=0,printf("First = %d",\
/* 在分号位置可以直接换行 */
i);
printf("\tSecond = %d",i),i<10;\
i++,printf("\t ...
Review_singlelinkedlist
- 博客分类:
- C/C++
时间长了,不写手生,复习一下单链表。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
typedef struct _node
{
int mydata;
struct _node *next;
}node;
node *Create()
{
int i,len;
node *h,*p,*q;
printf("定制链表长度:");
scanf("%d",&len);
if(len&l ...
获取整型数组的第二大的数,完全采用数组来实现(当然也可以借助单链表来做)。
大体思想就是:先由小到大排序,然后可以获得最大的数,接着可以得到第二大的数,这里考虑到了数组中可能会出现重复数据的情况。gcc调试通过。
#include<stdio.h>
#include<stdlib.h>
#define N 12
void GetSecondNumber(int array[N])
{
int i,j,tmp,array_backup[N];
printf("原数组为:\n");
for(i=0;i<N;i+ ...
多项式的规范化,采用单链表,使用C语言实现,gcc调试通过。
//该程序是为了将无序的、不规范的多项式进行规范化而写的。
#include<stdio.h>
#include<stdlib.h>
#define N 8 //指明多项式数据项的数目
int GetLength(); //获得单链表的长度
void Print(); //打印出单链表的节点数据
typedef struct multinomialnode //定义存储多项式数据项的节点的结构体
{
int coefficient,power; //定义系数和幂
...
单链表的创建、计数打印、删除节点、增加节点、逆序操作与查找中间节点,是上上一篇的补充,gcc调试通过。
#include<stdio.h>
#include<stdlib.h> /*使用到其中的malloc和exit函数*/
#define times 4 /*用于循环次数的控制*/
st ...
从一字符串数组中取出指定字符并将其组成新的字符串数组,gcc编译通过。
#include<stdio.h>
#include<string.h>
int main()
{
char ch1[]="askdaskaskdaskg",str[]="";
int i=0;
while(ch1[i]!='\0')
{
if(('d'==ch1[i])||('g'==ch1[i]))
{
char ch2[2]={ch1[i],'\0'};
printf("%c\t%d\ ...
单链表的创建、计数打印、删除节点、增加节点和逆序操作,是在上一篇的基础上完善了逆序操作,gcc编译通过。
#include<stdio.h>
#include<stdlib.h> /*使用到其中的malloc和exit函数*/
#define times 4 /*用于循环次数的控制*/
...
打印指定数字范围内的素数,程序如下:
1 #include<stdio.h>
2 void find_primes(int m)
3 {
4 int i,j,n=0; // n用于控制换行
5 for(i=1;i<m;i++)
6 {
7 for(j=2;j<i;j++)
8 {
9 if(i% ...