A. linux下如何根据文件大小来清除文件内容
重定向吧~ 貌似Linux没有获取文件大小的函数吧,不太清楚
system("ls -l ss.log > file");
把文件的信息重定向到一个文件,然后读该文件, 解析第5个字符串就知道文件的大小了~
超过100*1024*1024就system("rm ss.log");
B. linux 删除指定文件指定内容的命令
sed '/A/d' all.txt
这个命令就可以实现, sed命令是shell编程的必须要懂得的。
如果以后遇到了这方面的问题, 也可以一起讨论一下!
C. Linux中如何根据一个文件的内容将另一个文件中的某几行删掉
#!/bin/bash
cat 2.txt | while read line;do
sed -i "/$line/d" 1.txt
done
D. shell如何取出特定文本内容并替换另一个文本中的指定内容
1、按=分割取第二列
cat $file1|grep mqserver|awk -F= '{print $2}'`
2、直接替换文件内容
sed -i "s/127.0.0.1/192.168.1.1/" file1
3、实例:
#!/bin/sh
file1=ip1.txt
file2=ip2.txt
IP1=`cat $file1|grep mqserver|awk -F= '{print $2}'`
IP2=`cat $file2|grep ip|awk -F= '{print $2}'`
echo change $IP1 to $IP2.
sed -i "s/$IP1/$IP2/" $file1
more $file1
E. Linux 排序的时候过滤掉某个内容。
|cat test.log | awk {print'$n'} | sort -nr | uniq -c | sort -k1 -nr 其中袭 $n 为需要按出现次数排序的那一列 sort -nr 先排序 uniq -c 去重并计算出现次数 sort -k1 -nr 按出现次数排序
F. 如何用linux实现删除a文件中包含b文件内容的所有行,并生成新文件
给你写个脚本,将脚本放入目录内,或者把a,b文件的绝对路径添加到其中也可以
注意`cat b` 的两个反引号(键盘tab上面的那个键)不要打错了
你说的生成新文件,脚本里写的生成新文件c,然后把a文件备份成a-bak,再把c文件命名为a,以这样的方式实现。脚本:
#! /bin/sh
cat a | egrep -v "`cat b`" > c
mv a a-bak
mv c a
echo "done"
G. linux文件夹内文件复制,如何排除某个文件
1、首先连接linux服务器,然后cd切换到需要打包的目录中,这里新建了几个测试文件来演示如内何使用容tar打包。
H. linux 查找包含关键字的所有文件并删除该文件。
1、连接上相应的linux主机,进入到等待输入shell指令的linux命令行状态下。
I. linux从一个文件中删除某些内容,文件很大,怎么做
首先cd进入目录: find . -name "*~" -exec rm {} \; find . -ctime +n -exec -exec rm -vi {} \; 这里的+n是指多少天以前,比如:+7 find . -ctime +7 -exec -exec rm -vi {} \; 如果不想手动确认,把命令中的-vi改成-fv 请详查find命令.
J. 从linux指令的结果中过滤出需要的部分并写入指定文件
Linux下可以用sed命令来向文件中自追加内容。
案例:把/etc/test1文件中1-10行内容写入到test2中
12
sed
-n
'1,10'p
/etc/test1
>>test2#将file1的1-10行追加到file2
sed命令行格式为:sed
[-nefri]
‘command’
输入文本
常用选项:-n∶使用安静(silent)模式;
-e∶直接在指令列模式上进行
sed
的动作编辑;
-f∶直接将
sed
的动作写在一个档案内;
-r∶sed
的动作支援的是延伸型正规表示法的语法;
-i∶直接修改读取的档案内容,而不是由萤幕输出。