擅长:python、mysql、java
<p>我没有一个示例文件,但是<code>sed</code>应该是。。。你知道吗</p>
<pre><code>sed /(.*?,){37}/ s/([0-9]{1,2})\/([0-9]{2})\/([0-9]{4})/\2\/\1\/\3/
</code></pre>
<p>你可以通过以下方法来完成:</p>
<pre><code>for file in /path/to/files/*.csv
do
sed -ri".bak" /(.*?,){37}/ s/([0-9]{1,2})\/([0-9]{2})\/([0-9]{4})/\2\/\1\/\3/ file
done
</code></pre>
<p>现在在GnuWin32的sed上测试。你知道吗</p>
<pre><code># INFILE @ /test/a.csv
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2/20/2014
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,12/31/2014
# INFILE @ /test/b.csv
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,7/11/2014
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5/18/1987
# Command line command
C:\>FOR %f IN (C:\test\*.csv) DO sed -ri".bak" "/(.*?,){37}/ s/([0-9]{1,2})\/([0-9]{2})\/([0-9]{4})/\2\/\1\/\3/" %f
# OUTFILE @ /test/a.csv
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,20/2/2014
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,31/12/2014
# OUTFILE @ /test/b.csv
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,11/7/2014
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,18/5/1987
</code></pre>