linux 删除文件指定行数,Linux:删除不包含特定行数的文件

这个bash脚本应该做的伎俩。另存为“rmlc.sh”。

示例用法:

rmlc.sh -more 20 *.txt # Remove all .txt files with more than 20 lines

rmlc.sh -less 15 * # Remove ALL files with fewer than 15 lines请注意,如果rmlc.sh脚本位于当前目录中,它将被保护以防止删除。

#!/bin/sh

# rmlc.sh - Remove by line count

SCRIPTNAME="rmlc.sh"

IFS=""

# Parse arguments

if [ $# -lt 3 ]; then

echo "Usage:"

echo "$SCRIPTNAME [-more|-less] [numlines] file1 file2..."

exit

fi

if [ $1 == "-more" ]; then

COMPARE="-gt"

elif [ $1 == "-less" ]; then

COMPARE="-lt"

else

echo "First argument must be -more or -less"

exit

fi

LINECOUNT=$2

# Discard non-filename arguments

shift 2

for filename in $*; do

# Make sure we're dealing with a regular file first

if [ ! -f "$filename" ]; then

echo "Ignoring $filename"

continue

fi

# We probably don't want to delete ourselves if script is in current dir

if [ "$filename" == "$SCRIPTNAME" ]; then

continue

fi

# Feed wc with stdin so that output doesn't include filename

lines=`cat "$filename" | wc -l`

# Check criteria and delete

if [ $lines $COMPARE $LINECOUNT ]; then

echo "Deleting $filename"

rm "$filename"

fi

done

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在Linux中读取文件指定内容,可以使用以下命令: 1. 使用grep命令 grep命令可以在文件中搜索指定的字符串或模式,并将匹配的打印出来。例如,要在文件中查找包含“hello”的,可以使用以下命令: grep "hello" filename 2. 使用sed命令 sed命令可以用来编辑文件中的文本。例如,要在文件中替换所有的“hello”为“world”,可以使用以下命令: sed 's/hello/world/g' filename 3. 使用awk命令 awk命令可以用来处理文本文件中的数据。例如,要在文件中查找第二列包含“hello”的,可以使用以下命令: awk '$2 ~ /hello/ {print}' filename 以上是三种常用的方法,可以根据具体需求选择使用。 ### 回答2: 在Linux环境下,可以使用各种命令来读取文件中的指定内容。以下是几个常用的方法: 1. 使用cat命令:cat命令可以用来连接文件,将文件的内容输出到标准输出设备。通过结合grep命令,可以指定要读取的内容。例如,要读取文件test.txt中包含"hello"的,可以使用以下命令: ```shell cat test.txt | grep "hello" ``` 2. 使用sed命令:sed命令是一个流编辑器,可以用来对文本进替换、删除等操作。可以使用sed命令来读取文件中的指定指定字符等内容。例如,要读取文件test.txt中第5的内容,可以使用以下命令: ```shell sed -n '5p' test.txt ``` 3. 使用awk命令:awk是一种文本分析工具,可以用来逐处理文件。可以通过指定特定的字段等条件来读取文件中的内容。例如,要读取文件test.txt中第3列等于"abc"的,可以使用以下命令: ```shell awk -F',' '$3=="abc" {print}' test.txt ``` 4. 使用less或more命令:less和more命令都是用来分页查看文件内容的命令,可以逐页显示文件内容。可以通过搜索功能来定位和读取文件中的指定内容。例如,使用less命令读取文件test.txt,然后按"/"键输入要搜索的内容,按"n"键来查看下一个匹配的内容。 以上是几个常用的方法,可以根据具体的需求选择合适的命令来读取文件中的指定内容。 ### 回答3: 在Linux中,可以使用一些命令和工具来读取文件中特定的内容。 其中,最常用的命令是grep。grep命令用于在文本文件中查找指定的字符串模式,并将匹配到的打印出来。可以使用grep命令来查找文件包含特定内容的,例如: $ grep "特定内容" 文件名 另一个常用的命令是sed。sed命令是一种流编辑器,可以用于对文本进编辑和替换。可以使用sed命令来读取文件,并根据特定的规则对内容进替换和编辑。 $ sed -n '号p' 文件名 例如,要读取文件中的第5,可以使用以下命令: $ sed -n '5p' 文件名 除了grep和sed命令外,还有其他一些工具也可以用于读取文件中的特定内容。例如,awk命令可以用于按照字段进查找、提取和处理,并可以根据条件过滤文件内容。可以使用以下命令来读取文件中特定字段的内容: $ awk '{print $字段编号}' 文件名 另一个有用的命令是head和tail。head命令用于查看文件的前几,而tail命令用于查看文件的后几。可以使用以下命令来读取文件的前几或后几: $ head -n 文件名 $ tail -n 文件名 总之,Linux提供了多种命令和工具来读取文件中的特定内容,可以根据需要选择适合的方法来操作文件。以上只是其中的一些命令示例,具体使用时可以根据实际情况选择合适的命令和参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值