Linux shell脚本以格式mm / dd / yyy搜索和删除关于今天日期的行

时间:2016-11-08 14:45:04

标签: linux shell search sed

Linux shell脚本,以格式mm / dd / yyy搜索和删除与今天日期相关的行。

示例:将于2016年8月11日删除

输入:

joba_name_11   11/02/2016 06:30:01  -----                RU 5359761/1
joba_name_11   11/07/2016 06:30:01  -----                RU 5359761/1
joba_name_11   11/08/2016 06:30:01  -----                RU 5359761/1

输出:

joba_name_11   11/02/2016 06:30:01  -----                RU 5359761/1
joba_name_11   11/07/2016 06:30:01  -----                RU 5359761/1

使用的语法:

$TODAY = 11/08/2016
sed -i 's/$TODAY/d' < $inputfile  > $outputfile

错误:

  

sed:-e表达式#1,char 3:未知命令:`/'

2 个答案:

答案 0 :(得分:1)

拯救 - 使用%m/%d/%Y显示包含模式的所有行。结合grep -v `date +%m/%d/%Y` < infile > outfile (格式为grep以获取您的日期格式),您将获得一个oneliner:

date

(bash中的反引号用于执行程序,在这种情况下,您正在为Public Class Board Dim cards(23) As Image Dim random As New Random Public Sub shuffle() For i = 0 To cards.Length - 1 cards(i) = i Next i End Sub End Class 提供df = pd.concat([pd.DataFrame(key) for key in data_list], axis=1) .T .set_index('index', append=True) df.index = df.index.swaplevel(0,1) df.index.names = ['index1','index2'] print (df) prop_1 prop_2 index1 index2 602 1111 0 1 2222 0 1 603 1111 0 0 2222 1 1 的输出。)

答案 1 :(得分:0)

假设使用sed是必不可少的:

TODAY=$(date +"%m/%d/%Y")
sed "\|$TODAY|d" inputfile > outputfile

请注意,它与/pattern/d相同,但由于$TODAY包含斜杠,因此最好选择其他分隔符 - 在本例中为|