[英]How to use a cut in a sed statement
我有這個sed聲明:
#!/bin/bash
find . -type f ! -name 'checkData' ! -name 'correctData' ! -name 'makeStructure' -exec sed -i "1{s|.*|{}|;s|.*/testarea/||;s|/[^/]*$||;s/[/]/-/g;}" {} \;
目前,它正在完全滿足我的需要,但是沒有以我想要的格式顯示日期:
2000年1月18日
返回日期為
。 - 2000年1月18日
我一直在嘗試找出我需要更改哪一部分以擺脫.-的問題,但是我運氣並不好。
有沒有辦法只從結果中切除前兩個字符?
提前致謝!
我認為您將希望在您的find
命令中使用basename
:
find . -type f ! -name 'checkData' ! -name 'correctData' ! -name 'makeStructure' \
-exec basename {} \; | \
sed -i "1{s|.*|{}|;s|.*/testarea/||;s|/[^/]*$||;s/[/]/-/g;}"
這應該在文件名開頭刪除./
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.