需要在Unix脚本中添加逻辑从Windows转换为Unix格式
我有一个脚本需要添加逻辑,如果有人从winscp添加文件,并且在传输时不转换为纯文本。所以有一段时间我们得到了一些特殊字符(^m)的值,我想删除它们 这是我的密码需要在Unix脚本中添加逻辑从Windows转换为Unix格式,unix,Unix,我有一个脚本需要添加逻辑,如果有人从winscp添加文件,并且在传输时不转换为纯文本。所以有一段时间我们得到了一些特殊字符(^m)的值,我想删除它们 这是我的密码 cd $HOME_DIR if [ $SHELL_STEP = 'step2' ]; then if [ -s $DATA_DIR/$DATA_FILE.txt ]; then echo "The data file is present." cat -v new_reguest.txt $ awk '{ sub("\r$",
cd $HOME_DIR
if [ $SHELL_STEP = 'step2' ]; then
if [ -s $DATA_DIR/$DATA_FILE.txt ]; then echo "The data file is present." cat -v new_reguest.txt $ awk '{ sub("\r$", ""); print }' new_request.txt > new_request.txt echo "Data file $DATA_FILE.txt found in $DATA_DIR directory." >> $LOG_FILE echo "" >> $LOG_FILE STATUS='good' else echo "The data file has not arrived yet." fi
我尝试使用
awk
命令,但看起来不太好
请提供帮助。大多数实现将提供类似于
dos2unix
或d2u
的工具,以从行尾删除回车。您可以使用以下内容:
dos2unix new_request.txt >new_request_2.txt
mv new_request_2.txt new_request.txt
如果没有dos2unix
命令,则可以使用sed
执行相同的操作:
sed -i 's/\r$//' new_request.txt
-i
用于就地编辑。如果您的sed
版本没有这个功能,您将不得不使用上面dos2unix
代码中使用的相同临时文件技巧。大多数实现将提供类似于dos2unix
或d2u
的工具来删除行尾的回车。您可以使用以下内容:
dos2unix new_request.txt >new_request_2.txt
mv new_request_2.txt new_request.txt
如果没有dos2unix
命令,则可以使用sed
执行相同的操作:
sed -i 's/\r$//' new_request.txt
-i
用于就地编辑。如果您的sed
版本没有此功能,您将不得不使用上面dos2unix
代码中使用的相同临时文件技巧。我认为您正在寻找此功能:我认为您正在寻找此功能: