由于我缺乏脚本语言的经验,(对 Mac 用户来说是耻辱)我参考了几个来源:
关联似乎解决了ls *.extension | xargs -n 1 tail -n +2
> merged.txt
即使在最后添加之后,这也不适合我,也不适合以下内容:
for f in *.txt
do
tail -n +2 $f >> /path/to/some/dir/with/files/file_name
done
我还尝试sed -e'1d' $FILE
替换 tail 命令。没用。
tail -n +2 file_name.extension
、cat LIN_1994-11_0100.txt | tail -n +2
、
awk 'FNR != 1' *.extension
对文件没有影响。
我不确定是否这与当前问题有任何关系。或者是否关联与该问题有关。
如果有人能找到这个问题的原因或解决方法......将不胜感激。我已将这个问题从另一个社区转移到此处,以便尽可能获得更多见解。
答案1
tail
所声明的在 Mac 上不起作用的断言是错误的,如图所示(for
为了清楚起见,在循环中添加了换行符和缩进):
$ for i in {1..3}; do
for file in foo bar; do
echo "$i $file" >> $file
done
done
$ paste foo bar
1 foo 1 bar
2 foo 2 bar
3 foo 3 bar
$ tail -n+2 -q * > output
$ cat output
2 bar
3 bar
2 foo
3 foo
$ uname -a
Darwin recacted-hostname 17.2.0 Darwin Kernel Version 17.2.0: Fri Sep 29 18:27:05 PDT 2017; root:xnu-4570.20.62~3/RELEASE_X86_64 x86_64
答案2
最初发现的答案是对问题本身的编辑:
问题出在文件格式上!mac2unix
更改文件以使tail
命令有效!和关联对于那些将来可能遇到同样问题的人。感谢您的关注和投入!