1,2,3,4
3,4,5,6
4,7,8,9
1950/01/01,1,2,3,4
1950/02/01,3,4,5,6
1950/03/01,4,7,8,9
awk -v date="$(date -d '1950/01/01' '+%m/%d/%Y')" -F"," 'BEGIN { OFS = "," } ; {print date, $0}' inout.csv
使用gawk
输入
$ cat file
1,2,3,4
3,4,5,6
4,7,8,9
输出
$ awk -v date="$( date -d '1950/01/01' '+%s' )" '{print strftime("%Y/%d/%m",date)","$0; date+=86400}' file
1950/01/01,1,2,3,4
1950/02/01,3,4,5,6
1950/03/01,4,7,8,9
awk -v date="$( date -d '1950/01/01' '+%s' )" '{ # call awk set var date with timestamp
print strftime("%Y/%d/%m",date) "," $0; # print date, sep comma and current line
date+=86400 # one day = 86400 seconds, just increment
}
' file
我有一个大约有500行信息的文本文件。 有没有什么方法可以使用awk和sed实现这一点呢?
我有一个多行匹配的pcregrep命令,我想把它转换成awk或sed命令,因为我需要它在一台没有pcregrep的机器上(OS X)。 原始命令: 它输出包含字符串“baseTX”的接口名称(这是我发现的唯一可靠地找出MacBook上以太网接口名称的方法)。对我来说是“en4”。 输入文本如下所示: 我怎么能用awk或se抓取“en4”?我试了一个小时,但我只是不擅长se和awk。
问题内容: 将被转换成“输入”有用的“所需的输出”? 输入项 所需的输出 问题答案: 正确对齐的一个技巧是使用:
问题内容: 我的将日期添加一天的代码返回添加日期之前的日期: 添加一天之后的日期应滚动到下个月: 我以前使用过非常相似的代码,我在这里做错了什么? 问题答案: 对于PHP 5.2.0+,您还可以执行以下操作:
问题内容: 我想在两种模式之间添加一些大代码: File1.txt infile.txt 我想在 第一 和 第二 之间添加 File1.txt 内容: 所需输出: 我可以使用sed命令使用两种模式进行搜索,但是我不知道如何在它们之间添加内容。 问题答案: 由于代表 读取文件 ,请使用: 您可以在此处找到一些信息:使用’r’命令读取文件。 为就地版本添加(即)。 要执行此操作,无论字符大小写如何,均
问题内容: 我正在从AWK编程语言学习awk,但其中一个示例存在问题。 如果我想在$ 2等于一个值的情况下打印$ 3(例如),则我使用的是此命令,它可以正常工作: 但是,当我用另一个搜索条件(例如)代替1时,该命令不起作用: 它不返回任何输出,并且我确定输入文件中存在“ findtext”。 我也试过了,但是不起作用: 这是我的测试文件“ test”,它有9行和8个字段,以空格分隔: 这是我的工作